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。