容器Liux系统默认使用的locae系统编码为POSIX,POSIX字符集是不支持中文的,而C.UTF-8是支特中文的,只要把系统中的环境LANG改为"C.UTF-8"格式即可解决问题。
在容器中查看字符集:
(base) root@10a8071052bb:~# 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=
查看容器支持的字符集:
(base) root@10a8071052bb:~# locale -a
C
C.UTF-8
POSIX
可以看到支持的字符集有C.UTF-8,是可以支持中文的,解决办法如下:
vim ~/.bashrc
export LANG=C.UTF-8 # 添加这一行
source ~/.bashrc
最后重启终端