今天遇到的問題使mysql中插入中文數據後顯示亂碼,我在mysql中插入中文的時候,可以插入可是select的時候卻無法顯示,爲此我寫下這篇博客用於解決mysql插入中文。
由於有些截圖沒有記錄下來,但是爲了說明問題,我借用了別人的圖,主要是爲了完整的描述問題,在沒有任何修改的時候,我們可以在mysql命令行中敲入以下指令,其結果如下所示:
show variables like 'character%';
可以看到,以上的編碼並不支持中文,所以我們需要改變他們的編碼(我這裏是改成了utf8格式的)以支持中文,修改步驟如下:
修改以後,關閉mysql服務(net stop mysql),然後再重新啓動mysql服務(net start mysql),注意以上的修改不要出錯,否則你在重新啓動mysql的時候會出現系統錯誤,錯誤號爲1067(若是出現了可以說明是你在修改的過程中出錯了,檢查一下你的修改)。修改好了以後,我再次使用 show variables like 'character%';命令查看了一下,顯示如下:
可以看到編碼基本都轉換爲了utf8格式的,於是我使用了以下指令(切換數據庫)
ues test
然後我創建了新表,但是插入中文的時候出現了錯誤,原因下圖中也是可以看出的,有一項的格式又變回了 latin1 格式
原因是我們的修改對test數據庫無效(應該是可以修改的,這就留給細心的你們了),於是我新創建了一個數據庫:
可以看到新的數據庫的數據格式,我感覺這回應該搞定了,下面我們來試試吧!
哈哈,搞定!