解决dockers容器中文乱码

1、实际场景

​ ik分词器配置扩张词典时,配置的中文词典不生效。通过dockers容器查看配置的ext.dic文件时发现,中文内容显示乱码:

查看docker容器编码格式:执行locale命令;可以看到当前编码格式为POSIX,而这种编码格式不支持中文:

2、解决方法

使用 locale -a 查看容器所有语言环境:

2.1 临时修改

1
2
3
LANG=C.UTF-8  (有的是zh_CN.UTF-8,不过我在本地没发现这种编码)

source /etc/profile

2.2 永久修改-修改Dockerfile

在Dockerfile中添加一行

1
ENV LANG C.UTF-8

​ 重新制作docker镜像,docker run -ti [镜像] 进入容器后执行locale发现编码格式已经被修改为C.UTF-8,之前出现的中文文件名乱码问题也没有了


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!