Monthly Archives: March 2008

mySQL中使用UTF8字符集的问题解决

用UTF8字符集,向mysql数据库中插入数据后,用PHP取出在页面上显示没问题。但是用phpmyadmin或其他工具去管理时就会变成乱码。痛苦的乱码啊,其实,这是COLLATION的问题。

当我们连上mySQL时,我们的session的默认的collation是latin1_bin,而UTF8的数据库的collation应该是utf8的,一般用utf8_general_ci。所以我们只要在连接mysql数据库,session建立后,先执行如下三句SQL就万事大吉了。

SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION=’utf8_general_ci’;

我把这三句SQL写在了我的mySQL类的constractor里了。这样,每次连接数据库时就自动执行啦。