网上大部分都是MySQL终端输入中文出现乱码,然后更改MySQL server的字符集的操作,却缺少MySQL终端无法输入中文,将SQL语句粘贴复制到MySQL的终端中文无法显示:

alter qsjx_recommend add column `article_type` tinyint NOT NULL DEFAULT 1 COMMENT '1精选,2优选';

    问题思路:在发生这种情况下一般都是和字符集的设置有关联的,但是需要考虑清楚的是这个字符集是因为MySQL客户端字符集相关还是和MySQL server端的字符集有关。

  1. MySQL client 连接数据库的时候指定字符集:

mysql -uroot -p --default-character-set utf8

   2. MySQL server 本地的字符集信息:

    根据1,2的思路进行了测试,发现还是在MySQL的终端无法输入中文,粘贴复制中文上去的话无法显示。

    最后还是在一个网友的思路解决了我的问题:

    在上面截图中很明确的解释了终端中文的数据不涉及server端,和mysql的字符集没有任何的关系。这个时候我获取自己本地用户环境变量:

    很明显,我本地用户的LANG=C。修改本地用户的字符集:

export LANG=en_US.UTF-8

    最后结果: