今天弄了一天的mysql數據庫,就是被一個mysql數據庫亂碼的問題給纏住了。現在記錄一下這個問題,雖然這個問題不是什么太大的事情,但還是記錄一下。
問題是這樣的:
1、先在mysql的安裝文件當中,找到配置mysql數據庫編碼的文件。
2、修改這兩處為utf8。
3、創建一個名為test的數據庫並且設置默認編碼格式為utf8
4、創建一個名為charTest1的表,並指定編碼為utf8
5、查看數據庫的編碼,已經全部改成了utf8
6、再看一下當前數據庫的表的編碼
7、到這里的時候,我以為大功告成了,所有能設置的地方我都設置了,都設置的是ut8。然后,我執行了一下insert語句,報錯了!!!!!!!!
這個錯誤糾結了一天,最后,看到了一篇博客,博客上面這么寫:
問題出在了CMD窗口,CMD窗口使用的編碼格式是gbk,這根本解決不了啊,唯一的辦法就是,不要用cmd窗口了,用圖形界面工具吧!!!如果非要用cmd窗口的話,那么可以加這句話,set names gbk;加了這句話,我們再看數據庫的編碼格式,發生了明顯變化。
這次再執行插入語句,
成功了!!!
原來這一切都是CMD在搗鬼!!!
從上圖中可以看到 MySQL 有六處使用了字符集,分別為:client 、connection、database、results、server 、system。其中與服務器端相關:database、server、system(永遠無法修改,就是utf-8);與客戶端相關:connection、client、results