解决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)

修改完成后,相信你应该可以输入中文,并且可以正常显示中文了

再控制台输入\s 可以查看当前链接情况

mysql> \s
--------------
mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper

Connection id:		1472
Current database:	python3
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.23 MySQL Community Server (GPL)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			11 hours 57 min 5 sec

Threads: 3  Questions: 3473  Slow queries: 0  Opens: 205  Flush tables: 1  Open tables: 191  Queries per second avg: 0.080
--------------

 

你可能感兴趣的:(linux)