linux 下 mysql下保存進(jìn)去數(shù)據(jù)為亂碼的解決辦法(centos5.x)
linux mysql中文亂碼 CENTOS 5.4/3 上適用【轉(zhuǎn)】
2011-01-17 09:31
mysql默認(rèn)的字符編碼是latin1,而我用的是utf-8,存入數(shù)據(jù)庫(kù)就變成了?????這樣的亂碼,解決方法:
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 既已經(jīng)把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為要設(shè)置的字符集,如utf8
# show variables like '%char%';# show variables like '%collation_%';
查看字符集,會(huì)顯示各項(xiàng)字符集。重新設(shè)置后的數(shù)據(jù)庫(kù)不能使用,因?yàn)橹形囊粯訒?huì)是亂碼,不知道為什么,重建一個(gè)數(shù)據(jù)庫(kù),重啟服務(wù)器。
url中文字符亂碼問(wèn)題:
修改tomcat的server.xml文件
<Connector acceptCount="100"
?????????? connectionTimeout="20000"
?????????? disableUploadTimeout="true"
?????????? port="8080"
?????????? redirectPort="8443"
?????????? maxSpareThreads="75"
?????????? maxThreads="150"
?????????? minSpareThreads="25"
????????? URIEncoding="UTF-8">
配上過(guò)濾器就OK。