1. 程式人生 > >解決MySQL控制檯終端無法輸入中文

解決MySQL控制檯終端無法輸入中文

 mysql終端無法輸入中文時,首先應該考慮的是本地終端是否可以輸入中文,本地如果無法輸入中文,mysql終端肯定不可以

檢視本地終端是否支援,使用env 檢視環境變數中的LNAG屬性

我的LNAG=C.UTF-8,在本地可以輸入終端,但是在mysql控制檯卻無法輸入中文

bash-4.2# nev         
bash: nev: command not found
bash-4.2# env
HOSTNAME=9c7d70c1dfd8
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LANG=C.UTF-8
SHLVL=1
HOME=/root
_=/usr/bin/env

我們先改變本地LNAG屬性的值為en_US.UTF-8

export LANG=en_US.UTF-8

然後在連結mysql

mysql -uroot -p

此時應該已經解決了無法輸入中文的問題,如果出現在mysql控制檯檢視資料庫中文亂碼,此時則需要修改資料庫的字符集

我們先使用show variables 命令檢視字符集目前的屬性值,如果出現database connection client字符集不是utf8的情況

修改它們的屬性值即可

mysql> show variables like '%char%'
    -> ;
+--------------------------+----------------------------+
| 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     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> set character_set_database=utf8
    -> ;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)

修改完成後,相信你應該可以輸入中文,並且可以正常顯示中文了