Docker MySQL容器内无法输入中文问题

从dockerhub拉取MySQL镜像,启动并进入进入容器,发现在MySQL命令行内无法输入中文 ,退出到容器终端同样无法输入中文.

在容器终端查看语言环境

locale

LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
容器系统内默认使用的是POSIX字符集,而POSIX字符集是不支持中文的.

进一步查看容器系统额外支持的字符集

locale -a

C
C.UTF-8
POSIX
C.UTF-8支持中文,把系统中的语言环境 LANG 改为"C.UTF-8"格式即可解决问题

docker exec -it container_name env LANG=C.UTF-8 /bin/sh
这样, 只是临时修改, 要永久修改需要在创建容器时在dockerfile中设置。

你可能感兴趣的:(Docker MySQL容器内无法输入中文问题)