首先在宿主机输入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标准传统字符集)
解决方法:
1. 查看容器承载系统支持的所有字符集, 指令 : locale -a
2. 把POSIX修改为C.UTF-8, 参考网络文献, 如下提供三种修改方式:
① 有vi 的话, 可以直接编辑profile 文件
② 直接设置环境变量 LANG=C.UTF-8 (有时候并没有效果... 很头疼)
③ Docker启动时, 指定环境变量 (限时性, 下次启动还得设置, 不推荐)
指令: docker exec -it mysql env LANG=C.UTF-8 bash (随后重新进入)
小知识: linux中的mysql 不能直接使用linux系统命令clear 来清屏, 可以使用 system clear !!!!