.NET Core 的 Docker 容器目录乱码问题

现象

使用 docker exec -ti <容器名> bash 进入容器,使用 ls 命令列出的数据里面,中文没有正常显示。

QQ--20210428215244

原因

就是对应的 Shell 字符集不正确的问题,调整对应的字符集为 UTF-8 即可。

解决

  1. 首先执行 locale -a,查看输出的内容里面是否有 C.UTF-8 字符集。

    QQ--20210428215256

  2. 执行 locale 查看当前的字符集,如果均为 POSIX 说明有问题,需要进行变更。

    QQ--20210428215301

  3. 变更的方法很简单,创建/更改一下环境变量即可。

    export LC_ALL="C.UTF-8"

    上面这种方法仅对当前会话有效,如果想永久生效,将上面这句话放到对应的 Shell 的 Profile 里面即可。

    QQ--20210428215308