數據庫編碼(二)

問題1、jdbc中文插入時報錯,如下:


解決辦法:

數據庫表的編碼也需要修改

mysql>show create table tb; 


發現其是latin1編碼的,需將其轉成utf8
命令如下
alter table tb convert to character set utf8;

數據庫表就被轉化成了utf8,解決中文入庫報錯問題;


問題2、中文入庫顯示??號,但使用mysql命令直接插入中文時可以正常顯示

解決辦法:
首先查看jdbc時,是否在數據庫連接時設置了編碼
String url ="jdbc:mysql://localhost:3306/project_face?useUnicode=true&characterEncoding=UTF-8";
如沒有問題,可能是數據庫顯示的問題
命令mysql>show variables like 'char_%';查看數據庫編碼

除character_set_filesystem項其他都可以設置成utf8,但退出數據庫再次進入時,數據庫編碼仍會變爲上圖狀態
經過測試發現在查看數據時將character_set_results項設爲utf8,就可得到正確的中文顯示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章