mysql客戶端的字符集一般會跟隨你的系統設定的字符集。比如你的Linux系統設置的字符集為gbk 則mysql客戶端的字符集也會是gbk
查看客戶端的字符集語句
mysql> show variables like 'character_set%';
+--------------------------+---------------------------------------+
| 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 | latin1 (mysql服務器字符集) |
| character_set_system | utf8 |
| character_sets_dir | D:\mysql-5.6.23-win32\share\charsets\ |
+--------------------------+---------------------------------------+
8 rows in set (0.00 sec)
默認情況下
character_set_client,character_set_connection,character_set_results 會根據你系統的字符集,而設置成什么字符集
這是因為這樣,mysql客戶端的字符集和服務器端的字符集不同而導致的亂碼
正常來說,以上的查詢出來的結果,都需要設置為統一字符集。一般如果你的是Linux系統,只需要設置Linux系統字符集為utf-8那些字符集就會統一了