MySQL是一個廣為使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),但是在查詢中文數(shù)據(jù)時,在cmd中會出現(xiàn)亂碼的問題。這是因為MySQL默認(rèn)使用的字符集為Latin1,而中文字符集為UTF-8,兩者不兼容,需要進行相應(yīng)的設(shè)置才能正常顯示中文數(shù)據(jù)。
在MySQL命令行界面輸入以下命令,可以查看當(dāng)前字符集的設(shè)定:
show variables like '%charset%';
可以看到,字符集設(shè)置為“l(fā)atin1”:
+--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+--------+
需要將字符集設(shè)置為UTF-8,輸入以下命令:
set names utf8;
重新查詢字符集設(shè)定:
show variables like '%charset%';
可以看到,字符集已經(jīng)變?yōu)閁TF-8:
+--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary| | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+-------+
在進行查詢時,需要使用“charset=utf8”參數(shù)來告訴MySQL將結(jié)果以UTF-8編碼返回,例如:
select * from mytable where name='張三' charset=utf8;
以上就是關(guān)于MySQL查詢中中文在cmd顯示亂碼的解決方法。使用以上方法,可以使MySQL在cmd中正常顯示中文數(shù)據(jù),避免出現(xiàn)亂碼的問題。