有时,MSSQL和UTF-8相当痛苦。我不得不手动将其转换。问题:MSSQL实际上不知道并不支持UTF-8。
从数据库值转换为UTF-8:
mb_detect_encoding($value, mb_detect_order(), true) === 'UTF-8' ? $value : mb_convert_encoding($value, 'UTF-8');
从UTF-8转换为数据库值:
mb_convert_encoding($value, 'UCS-2LE', mb_detect_encoding($value, mb_detect_order(), true));
幸运的是,我使用的是Doctrine,所以我所要做的就是创建一个自定义的StringType实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)