萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> java 保存漢字到mysql出現Incorrect string value 解決辦法

java 保存漢字到mysql出現Incorrect string value 解決辦法

今天寫一個團購網站練練手,用到了S2SH大整合,有點激動人心,但是遇到的麻煩也不少,畢竟第一次做嘛,這篇日志要說的是一個大熟人,Incorrect string value: 'xE6x9BxB9xE5x86xAC...' for column 'realname' at row 1,嘿嘿,以前見到的不少吧。

激動人心的寫完代碼,測試一切正常,可是輸入中文就杯具了,出現以下錯誤。

 

心裡明白出現這個錯誤,十有八九都是數據庫教程編碼出問題了,以前懶得研究,還是抱有僥幸心裡在後台寫了個Syso,看看控制台的輸出是否亂碼,結果顯示正常,沒有亂碼,那就確定是數據庫的編碼問題了。

我用的的 mysql教程 數據庫,版本5.1。

使用 show variables like 'character%' 查看數據庫的編碼,果然是latin1,意料之中。

如果項目正在測試當中,數據不重要的話,一勞永逸的解決辦法是,使用alert database tuanplus character set utf8 更改數據庫的編碼格式,再重新建表(Hibernate中,指定hibernate.hbm2ddl.auto=create,重新部署項目,hibernate會自動重新建表),查看此時的數據庫編碼,嘿嘿,是utf8了。異常解除。

如果項目中的數據是重要數據的話,還是有解決辦法滴。

使用 alter table address convert to character set utf8 轉換需要插入漢字的數據表編碼為utf8即可(此例中的數據表是address):

事先最好備份數據,以免意外

copyright © 萬盛學電腦網 all rights reserved