linux mysql中文乱码 CENTOS 5.4/3 上适用【转】
2011-01-17 09:31
mysql默认的字符编码是latin1,而我用的是utf-8,存入数据库就变成了?????这样的乱码,解决方法:
1、windows下:修改my.ini文件,有两处default-character-set=latin1都改为default-character-set=utf8重启既可。
2、linux下:vi /etc/my.cnf(# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 既已经把my-medium.cnf拷贝到/etc/下了)在[mysqld]下加入default-character-set = utf8,[client]下加入default-character-set = utf8
:wq保存退出
也可直接在mysql>输入
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x;
x为要设置的字符集,如utf8
# show variables like '%char%';# show variables like '%collation_%';
查看字符集,会显示各项字符集。重新设置后的数据库不能使用,因为中文一样会是乱码,不知道为什么,重建一个数据库,重启服务器。
url中文字符乱码问题:
修改tomcat的server.xml文件
<Connector acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
port="8080"
redirectPort="8443"
maxSpareThreads="75"
maxThreads="150"
minSpareThreads="25"
URIEncoding="UTF-8">
</Connector>
配上过滤器就OK。