mysql 中文亂碼解決辦法

2020-11-03 12:00:27

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其它相關文章!