首先在宿主机输入env 查看LANG 或者 locale 查看 LANGmysql
发现本地使用的字符集是: zh_CN.UTF-8linux
而后执行 docker exec -it mysql bashsql
进入docker的mysql 的 bash 子程序控制台, 执行locale 查看mysql 的字符集 docker
发现问题!!!bash
本地的LANG与docker里mysql的LANG不一致!!! (ps: "POSIX"是UNIX标准传统字符集)网络
解决方法:spa
1. 查看容器承载系统支持的全部字符集, 指令 : locale -ablog
2. 把POSIX修改成C.UTF-8, 参考网络文献, 以下提供三种修改方式: it
① 有vi 的话, 能够直接编辑profile 文件class
② 直接设置环境变量 LANG=C.UTF-8 (有时候并无效果... 很头疼)
③ Docker启动时, 指定环境变量 (限时性, 下次启动还得设置, 不推荐)
指令: docker exec -it mysql env LANG=C.UTF-8 bash (随后从新进入)
小知识: linux中的mysql 不能直接使用linux系统命令clear 来清屏, 能够使用 system clear !!!!