mysql 中文亂碼解決辦法

mysql中文亂碼的解決辦法:1、在linux環境下找到my.cnf文件并進行編碼修改;2、在windows下修改my.ini文件;3、在使用過程中強制設置字符集編碼。

mysql 中文亂碼解決辦法

推薦:《mysql視頻教程

一.簡介

MySQL默認latin1(其實就是ISO-8859-1)字符集。這顯然不能滿足我們的需要,因此我們把它調整為UTF8字符集,以兼容大多數字符集。

1. 先來執行兩條SQL,來檢測下當前的MySQL默認字符集編碼:

Sql命令:

mysql>show?variables?like?“%colla%”;? ?

????? mysql 中文亂碼解決辦法

Sql命令:

mysql>show?variables?like?“%char%”;?

mysql 中文亂碼解決辦法? ?

二.修改字符集為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 中文亂碼解決辦法

修改成功后重新啟動mysql數據庫

Shell命令:

service mysql restart

有時候數據庫service mysql start啟動成功,卻只能在root用mysql命令,可能是因為防火墻沒有關閉,使用下面命令解決問題:

????????????????? service iptables stop

然后查詢字符集

show variables like ‘%character%’;

? show variables like “%colla%”;

成功圖像如下:

mysql 中文亂碼解決辦法

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??

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享