解決MySQL亂碼,并不難
我們曾在前一些文章對MySQL亂碼的實(shí)際解決方案有一些相關(guān)的介紹,我們今天主要向大家描述的是MySQL亂碼處理的經(jīng)驗(yàn)總結(jié),以及實(shí)際的解決辦法,以下就是對其具體內(nèi)容的分析,望你會有所收獲。
MySQL亂碼處理總結(jié):
(1)java中處理中文字符正常,在cmd client中顯示亂碼是字符集的問題.
(2)字段長度設(shè)置夠長,但插入中文字符時提示com.MySQL.jdbc.MySQLDataTruncation: Data truncation: Data too long for column錯誤是字符集的問題.
(3)亂碼問題歸根到底是字符集的問題,那就從字符集設(shè)置方面考慮,不外乎下面幾個方面:server,client,database,connection,results.
解決辦法
(1)修改 my.ini(MySQL Server Instance Configuration 文件)
- # CLIENT SECTION
- [client]
- port=3306
- [MySQL]
- default-character-set=gbk
- # SERVER SECTION
- [MySQLd]
- default-character-set=gbk
(2)修改data目錄中相應(yīng)數(shù)據(jù)庫目錄下的db.opt配置文件
- default-character-set=gbk
- default-collation=gbk_chinese_ci
(3)數(shù)據(jù)庫連接串中指定字符集
URL=jdbc:MySQL://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk
注:在MySQL4.1.0版 要加useUnicode=true&characterEncoding=gbk 如果是5.0版以上的,加不加都是沒有關(guān)系的!
(4)在創(chuàng)建數(shù)據(jù)庫時指定字符集
- create database yourDB CHARACTER SET gbk;
(5)在dos命令上要設(shè)置
- set names gbk
好了,經(jīng)過檢查上面四個方面的設(shè)置,應(yīng)該 OK 了!不會出現(xiàn)諸如
com.MySQL.jdbc.MySQLDataTruncation: Data truncation: Data too long for column等問題.