首先在宿主机输入env 查看LANG 或者 locale 查看 LANG

发现本地使用的字符集是: zh_CN.UTF-8

  然后执行 docker exec -it mysql bash

进入docker的mysql 的 bash 子程序控制台, 执行locale 查看mysql 的字符集  

  发现问题!!!

  本地的LANG与docker里mysql的LANG不一致!!! (ps: "POSIX"是UNIX标准传统字符集)

Xshell终端连接CentOS7.0下Docker容器中的MySql镜像后无法键入中文问题-LMLPHP

  解决方法:

  1. 查看容器承载系统支持的所有字符集, 指令 :  locale -a

Xshell终端连接CentOS7.0下Docker容器中的MySql镜像后无法键入中文问题-LMLPHP

  2. 把POSIX修改为C.UTF-8, 参考网络文献, 如下提供三种修改方式: 

    ① 有vi 的话, 可以直接编辑profile 文件

    ② 直接设置环境变量 LANG=C.UTF-8 (有时候并没有效果... 很头疼)

Xshell终端连接CentOS7.0下Docker容器中的MySql镜像后无法键入中文问题-LMLPHP

    ③ Docker启动时, 指定环境变量 (限时性, 下次启动还得设置, 不推荐)

指令: docker exec -it mysql env LANG=C.UTF-8 bash  (随后重新进入)

Xshell终端连接CentOS7.0下Docker容器中的MySql镜像后无法键入中文问题-LMLPHP

  小知识: linux中的mysql 不能直接使用linux系统命令clear 来清屏, 可以使用  system clear  !!!!

05-16 22:52