把win7下写的web程序部署到linux上时,出现了中文乱码,需要进行mysql编码设置.

网上搜索了一下解决方法,就是在mysql配置文件my.cnf里的[client][mysqld]里添加几行字符设置就行.

我按照网上说的进行了修改,再启动mysql的时候,就报错了

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

纠结了半天,搞不定,后来索性把配置文件删了,再重新安装了一次mysql.修改了配置文件后启动mysql依然报上面的错误.说明是配置修改的问题.

然后又查了下资料,原来是mysql版本的问题,mysql从5.5后把以前的参数default-character-set改成了character-set-server,所以用以前版本的改法导致启动出错.

正确的解决方法如下:

#在[client]节点下添加  
default-character-set=utf8 
#在[mysqld]节点下添加 
character-set-server=utf8 
collation-server=utf8_general_ci 

ok,重新执行sql文件,运行web程序,中文出现了.



blog comments powered by Disqus

Published

04 January 2013

Category

database