问题复现
这里我想输入中文输入不了,这会导致你想用原生sql语句插入中文数据插入不了,你复制sql语句中有中文也复制不上去。
问题原因
这是因为mysql容器的字符集没有使用utf8,用了别的字符集,这里我进去容器之后用命令查看字符集是POSIX
locale 这是是查看容器使用的字符集
在Linux下,可以使用 locale -a 命令查看系统中所有已配置的 locale。
用不带选项的 locale 命令查看当前 Shell 中活动的 locale。
用 locale -m 命令查看locale系统支持的所有可用的字符集编码。
解决方法
第一种 进入容器的时候设置字符集
这一种只有每次进入都使用这个命令才可以输入中文不能一劳永逸
sudo docker exec -it [容器id或名字] env LANG=C.UTF-8 mysql -uroot -p
第二种 需要重新构建 docker 容器 (优点 永久生效一劳永逸) 构建docker 容器时候 时候增加一个变量
docker run -d mysql -e LANG="C.UTF-8"