解決MySQL控制檯終端無法輸入中文
阿新 • • 發佈:2018-12-13
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)
修改完成後,相信你應該可以輸入中文,並且可以正常顯示中文了