溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql數(shù)據(jù)庫(kù)中文亂碼怎么辦

發(fā)布時(shí)間:2020-11-04 10:37:49 來源:億速云 閱讀:1249 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要介紹mysql數(shù)據(jù)庫(kù)中文亂碼怎么辦,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

mysql中文亂碼的解決辦法:1、在linux環(huán)境下找到my.cnf文件并進(jìn)行編碼修改;2、在Windows下修改my.ini文件;3、在使用過程中強(qiáng)制設(shè)置字符集編碼。

一.簡(jiǎn)介

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

1. 先來執(zhí)行兩條SQL,來檢測(cè)下當(dāng)前的MySQL默認(rèn)字符集編碼:

Sql命令:

mysql>show variables like "%colla%";

mysql數(shù)據(jù)庫(kù)中文亂碼怎么辦

Sql命令:

mysql>show variables like "%char%";

mysql數(shù)據(jù)庫(kù)中文亂碼怎么辦  

二.修改字符集為UTF-8

需要修改MySQL配置文件my.cnf文件,Windows環(huán)境則是my.ini文件。

通常在linux環(huán)境下my.cnf文件位于/etc/mysql/my.cnf/etc/my.cnf路徑下,但由于安裝版本或是系統(tǒng)環(huán)境的不同,我們可能無法在這個(gè)目錄中找到該文件

1.Linux下修改方法

修改mysql的配置文件,由于新裝的mysql有可能在etc下沒有my.cnf

這是需要自己創(chuàng)建一個(gè)。查找一個(gè)my-medium.cnf 文件,然后復(fù)制到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數(shù)據(jù)庫(kù)中文亂碼怎么辦

修改成功后重新啟動(dòng)mysql數(shù)據(jù)庫(kù)。

Shell命令:

service mysql restart

有時(shí)候數(shù)據(jù)庫(kù)service mysql start啟動(dòng)成功,卻只能在root用mysql命令,可能是因?yàn)榉阑饓]有關(guān)閉,使用下面命令解決問題:

service iptables stop

然后查詢字符集

show variables like '%character%';

show variables like "%colla%";

成功圖像如下:

mysql數(shù)據(jù)庫(kù)中文亂碼怎么辦

2.Windows下修改方法

MySQL安裝目錄下的my-default.ini改為my.ini文件

[client]節(jié)點(diǎn)

default-character-set=utf8    (增加)

[mysql]節(jié)點(diǎn)

default-character-set=utf8    (修改)

[mysqld]節(jié)點(diǎn)

character_set_server=utf8    (修改)

修改完畢后使用

net stop mysql

net start mysql

重新啟動(dòng)mysql服務(wù)

然后查詢字符集:

show variables like '%character%';

show variables like "%colla%";

3.在使用過程中強(qiáng)制設(shè)置字符集編碼
為確保字符集完全統(tǒng)一,在建表、建庫(kù)的時(shí)候要強(qiáng)制設(shè)定統(tǒng)一字符集。
另外通過JDBC連接MySQL的時(shí)候?yàn)榇_保萬無一失,連接字符串需要加上以下參數(shù):

jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8

以上是mysql數(shù)據(jù)庫(kù)中文亂碼怎么辦的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI