.NET Core 的 Docker 容器目录乱码问题
现象
使用 docker exec -ti <容器名> bash
进入容器,使用 ls
命令列出的数据里面,中文没有正常显示。
原因
就是对应的 Shell 字符集不正确的问题,调整对应的字符集为 UTF-8 即可。
解决
-
首先执行
locale -a
,查看输出的内容里面是否有 C.UTF-8 字符集。 -
执行
locale
查看当前的字符集,如果均为 POSIX 说明有问题,需要进行变更。 -
变更的方法很简单,创建/更改一下环境变量即可。
export LC_ALL="C.UTF-8"
上面这种方法仅对当前会话有效,如果想永久生效,将上面这句话放到对应的 Shell 的 Profile 里面即可。