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