Fork me on GitHub

中文乱码? SET NAMES 'utf8' 在捣鬼 ?!

edited 2013年09月10日 经验心得

迁移到 BAE 时发现的, 很离奇的间歇性随机出现帖子和标题乱码, 不管后台数据库用 utf8_general_ci 还是 utf8_unicode_ci(官方默认) 都是一样的问题, 后来发现把 conf/config.php 里面的
$Configuration['Database']['ConnectionOptions']['1002'] = 'set names \'utf8\'';
注释掉或者直接删除, 问题解决.

发现把config-default.php里面的 $Configuration['Database']['ExtendedProperties']['Collate'] = 'utf8_unicode_ci'; 改成
'utf8_general_ci' 然后数据库也用 utf8_general_ci 同样也可以的, 我现在就是这么用, 没有再出现乱码现象, 当然前提是干掉了 set names utf8...因为很多程序都是用 utf8_general_ci 的同学如果想整合的话可能有点用.

不知道为什么会这样...因为中文乱码实在是太烦了, 找原因找了好久才找到解决办法...

附带 转换代码: https://gist.github.com/anonymous/6508326

登录注册 才能回复。