MySQL5.x版本亂碼問題解決方案
MySQL是一款常用的開源數(shù)據(jù)庫軟件,但是對于初次使用者好像并不是太友好,MySQL5.x的版本中默認(rèn)字符集是latin1也就是我們所知道的ISO-8859-1字符集,這個字符集編碼并沒有包含漢字,所以我們在使用的時候漢字會出現(xiàn)亂碼情況,通過修改數(shù)據(jù)庫默認(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 FilesMySQLMySQL Server 5.7sharecharsets |+--------------------------+---------------------------------------------------------+8 rows in set, 1 warning (0.00 sec)
可以看到現(xiàn)在默認(rèn)的字符集是latin1
找到MySQL的配置文件,windows中的配置文件是my.ini,我的電腦位于C:ProgramDataMySQLMySQL 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 mysqlnet 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 FilesMySQLMySQL Server 5.7sharecharsets |+--------------------------+---------------------------------------------------------+8 rows in set, 1 warning (0.00 sec)
為保證編碼一致性還可以在創(chuàng)建數(shù)據(jù)庫或者表的時候指定字符集,并在連接串后面指定連接參數(shù):
?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Microsoft Office Access調(diào)整字段位置的方法2. MySQL之mysqldump的使用詳解3. navicat for mysql導(dǎo)出sql文件的方法4. 一文帶你學(xué)會Mysql表批量添加字段5. MSSQLServer2000的排序功能原來這樣6. 利用Oracle9i XML DB 來解決復(fù)雜編碼問題7. MySQL 如何處理隱式默認(rèn)值8. Oracle與DB2數(shù)據(jù)類型的分類對應(yīng)說明9. ODBC連接數(shù)據(jù)庫以SQLserver為例圖文詳解10. Mysql優(yōu)化方法詳細(xì)介紹
