mysql中文亂碼的解決辦法:1、在linux環境下找到my.cnf檔案並進行編碼修改;2、在Windows下修改my.ini檔案;3、在使用過程中強制設定字元集編碼。
推薦:《》
一.簡介
MySQL預設latin1(其實就是ISO-8859-1)字元集。這顯然不能滿足我們的需要,因此我們把它調整為UTF8字元集,以相容大多數位符集。
1. 先來執行兩條SQL,來檢測下當前的MySQL預設字元集編碼:
Sql命令:
mysql>show variables like "%colla%";
Sql命令:
mysql>show variables like "%char%";
二.修改字元集為UTF-8
需要修改MySQL組態檔my.cnf檔案,Windows環境則是my.ini檔案。
通常在linux環境下my.cnf檔案位於/etc/mysql/my.cnf(/etc/my.cnf)路徑下,但由於安裝版本或是系統環境的不同,我們可能無法在這個目錄中找到該檔案
1.Linux下修改方法
修改mysql的組態檔,由於新裝的mysql有可能在etc下沒有my.cnf
這是需要自己建立一個。查詢一個my-medium.cnf 檔案,然後複製到etc資料夾下命令為:cp /usr/share/doc/MySQL-server-5.5.24/my-medium.cnf /etc/my.cnf
Shell程式碼:
#echo 修改my.cnf檔案
#sudo vi /etc/my.cnf
在[client]下加入程式碼:
default-character-set=UTF8
在[mysqld]下加入程式碼:
character_set_server=utf8
在[ mysql ]下加入程式碼:
default-character-set=utf8
部分影象如下:
修改成功後重新啟動mysql資料庫。
Shell命令:
service mysql restart
有時候資料庫service mysql start啟動成功,卻只能在root用mysql命令,可能是因為防火牆沒有關閉,使用下面命令解決問題:
service iptables stop
然後查詢字元集:
show variables like '%character%';
show variables like "%colla%";
成功影象如下:
2.Windows下修改方法
MySQL安裝目錄下的my-default.ini改為my.ini檔案
[client]節點
default-character-set=utf8 (增加)
[mysql]節點
default-character-set=utf8 (修改)
[mysqld]節點
character_set_server=utf8 (修改)
修改完畢後使用
net stop mysql
net start mysql
重新啟動mysql服務
然後查詢字元集:
show variables like '%character%';
show variables like "%colla%";
3.在使用過程中強制設定字元集編碼
為確保字元集完全統一,在建表、建庫的時候要強制設定統一字元集。
另外通過JDBC連線MySQL的時候為確保萬無一失,連線字串需要加上以下引數:
jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8
以上就是mysql 中文亂碼解決辦法的詳細內容,更多請關注TW511.COM其它相關文章!