MySQL是一款常用的開(kāi)源數(shù)據(jù)庫(kù)軟件,但是對(duì)于初次使用者好像并不是太友好,MySQL5.x的版本中默認(rèn)字符集是latin1也就是我們所知道的ISO-8859-1字符集,這個(gè)字符集編碼并沒(méi)有包含漢字,所以我們?cè)谑褂玫臅r(shí)候漢字會(huì)出現(xiàn)亂碼情況,通過(guò)修改數(shù)據(jù)庫(kù)默認(rèn)字符集即可解決。
進(jìn)入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)在默認(rèn)的字符集是latin1
找到MySQL的配置文件,windows中的配置文件是my.ini,我的電腦位于C:\ProgramData\MySQL\MySQL Server 5.7,Linux中需要修改的是my.conf文件,具體路徑根據(jù)你的實(shí)際安裝位置,分別修改以下節(jié)點(diǎn)中的配置:
我使用的5.7中[client]節(jié)點(diǎn)的配置需要新增,其余兩個(gè)節(jié)點(diǎn)[mysql]、[mysql]需要打開(kāi)注釋并修改為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ù)庫(kù)或者表的時(shí)候指定字符集,并在連接串后面指定連接參數(shù):
?useUnicode=truecharacterEncoding=UTF-8serverTimezone=Asia/Shanghai
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
標(biāo)簽:沈陽(yáng) 惠州 天津 合肥 阿里 呼和浩特 公主嶺 牡丹江
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL5.x版本亂碼問(wèn)題解決方案》,本文關(guān)鍵詞 MySQL5.x,版本,亂碼,問(wèn)題,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。