現象:在向數據庫中插入的數據有中文時,報如下錯誤
原因是:電腦的系統默認編碼是gbk,而mysql客戶端提供的編碼方式是utf8,兩種編碼不一致導致的,查看當前mysql的編碼:
show variables like 'character%';
如下圖:
解決方式是將mysql提供的客戶端編碼變為gbk
設置客戶端編碼:set character_set_client = gbk;
此時可以插入中文數據了,但是在select * from user時發現剛才插入的中文數據亂碼
原因是:電腦的系統默認編碼是gbk,而mysql結果集的編碼方式是utf8,兩種編碼不一致導致的
解決方案是將mysql結果集編碼設置成gbk
設置結果集的編碼:set character_set_results = gbk;
再次查詢數據庫
注意:上述操作只針對當前客戶端有效
徹底修改編碼的操作:在安裝文件中尋找my.ini文件 找到default-character-set=utf8一行
將utf8改成gbk,意味著和客戶端相關的編碼全部給程gbk
再次查詢編碼集:
以後可以隨意進行中文的存儲於顯示了