两台Server,一台装有MySQL Server和Client,另一台编译安装时用 –without-server 参数只安装了Client。
前两天配置服务器的时候,小心小心再小心的注意字符集问题,认认真真的在Server端配置了my.cnf,结果还是把Client端的事给忘了。进去的数据,依旧乱码。奋战两个小时,才找到问题,解决之。总结如下:
1,即使只安装了Client端,为了使MySQL默认使用UTF-8字符集,也需要在Client端的服务器上配置my.cnf
2,即使在Client端通过命令行方式连接Sever问题解决了,也不要侥幸的认为在用PHP连接的时候会正常。my.cnf只会影响MySQL的相关程序。
3,使用PHP连接MySQL时,使用“SET NAMES UTF8”,是个好习惯。
4,服务器端的my.cnf里,添加一行“init_connect = ‘SET NAMES utf8’”是个一劳永逸的办法。注意,root用户会忽略此参数。
参考:
http://www.toplee.com/blog/259.html
http://kevin.9511.net/archives/173.html