溫馨提示×

溫馨提示×

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

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

MySQL5.x版本亂碼問題怎么解決

發(fā)布時間:2020-11-03 16:26:29 來源:億速云 閱讀:131 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章運用簡單易懂的例子給大家介紹MySQL5.x版本亂碼問題怎么解決,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

MySQL是一款常用的開源數(shù)據(jù)庫軟件,但是對于初次使用者好像并不是太友好,MySQL5.x的版本中默認字符集是latin1也就是我們所知道的ISO-8859-1字符集,這個字符集編碼并沒有包含漢字,所以我們在使用的時候漢字會出現(xiàn)亂碼情況,通過修改數(shù)據(jù)庫默認字符集即可解決。

進入MySQL命令行:

mysql> show variables like '%colla%';
+----------------------+-------------------+
| Variable_name    | Value       |
+----------------------+-------------------+
| collation_connection | gbk_chinese_ci  |
| collation_database  | latin1_swedish_ci |
| collation_server   | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set, 1 warning (0.00 sec)

mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name      | Value                          |
+--------------------------+---------------------------------------------------------+
| character_set_client   | gbk                           |
| character_set_connection | gbk                           |
| character_set_database  | latin1                         |
| character_set_filesystem | binary                         |
| character_set_results  | gbk                           |
| character_set_server   | latin1                         |
| character_set_system   | utf8                          |
| character_sets_dir    | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)

可以看到現(xiàn)在默認的字符集是latin1

找到MySQL的配置文件,windows中的配置文件是my.ini,我的電腦位于C:\ProgramData\MySQL\MySQL Server 5.7,Linux中需要修改的是my.conf文件,具體路徑根據(jù)你的實際安裝位置,分別修改以下節(jié)點中的配置:

我使用的5.7中[client]節(jié)點的配置需要新增,其余兩個節(jié)點[mysql]、[mysql]需要打開注釋并修改為utf8.

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysql]
character_set_server=utf8

然后重啟MySQL

net stop mysql
net start mysql

再次查看字符集,都已經(jīng)被修改為utf8字符集

mysql> show variables like '%colla%';
+----------------------+-----------------+
| Variable_name    | Value      |
+----------------------+-----------------+
| collation_connection | gbk_chinese_ci |
| collation_database  | utf8_general_ci |
| collation_server   | utf8_general_ci |
+----------------------+-----------------+
3 rows in set, 1 warning (0.00 sec)

mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name      | Value                          |
+--------------------------+---------------------------------------------------------+
| character_set_client   | gbk                           |
| character_set_connection | gbk                           |
| character_set_database  | utf8                          |
| character_set_filesystem | binary                         |
| character_set_results  | gbk                           |
| character_set_server   | utf8                          |
| character_set_system   | utf8                          |
| character_sets_dir    | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)

為保證編碼一致性還可以在創(chuàng)建數(shù)據(jù)庫或者表的時候指定字符集,并在連接串后面指定連接參數(shù):

useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

關(guān)于MySQL5.x版本亂碼問題怎么解決就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

AI