Mysql中文亂碼的解決方法

SHOW VARIABLES LIKE "%char%"

顯示:


亂碼的原因是各個變量的設置編碼不一樣所引起的,需要把上述變量都設置成utf8

除了character_set_server之外,其他的都能用 SET character_set_xxx='utf8';的形式來解決,但是唯獨character_set_server 設置之後也是無效的。

utf8_general_ci  (utf8_一致標準格式_不區分大小寫) 
utf8_unicode_ci (utf8_國際碼_不區分大小寫) 
utf8_bin_**  (utf8_國際碼_區分大小寫)

翻閱了很多網頁,看大家比較讚的是打開MySQLInstanceConfig.exe進行重新的變量配置,但是我卻沒在mysql中找到,應該是版本的問題。

然後又繼續尋找,有一個說法是,修改mysql的my.cnf文件,沒找到這個文件,那我們來修改my.ini吧(在修改之前先建一個副本,防止出現問題無法挽回)。

然後我又失敗了T_T,失敗的修改就不說了,只說成功的。

我打開了my.ini之後發現裏面很多都是設置的gb2312,這和我最開始安裝mysql時的變量配置有關,然後我直接用記事本查找的方式,把所有gb2312都替換成了utf8,把所有的gb2312_chinese_ci都換成了utf_general_ci

然後保存my.ini——重啓mysql服務,執行SHOW VARIABLES LIKE "%char%"查看變量


問題解決!

附:my.ini儲存的是mysql的變量配置,編碼格式只有統一纔不會出現中文字符亂碼的問題。php輸出的字符或讀取的字符編碼也要設置成utf8。



發佈了36 篇原創文章 · 獲贊 30 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章