一.Centos环境乱码
1.通过locale 查看当前环境的编码情况:
2.locale -a查看系统支持的编码:
一般中文乱码,有两种情况,一是当前环境的编码不支持中文,二是当前环境的编码系统并不支持,也就是说通过locale中看到的编码再locale -a中并不存在。所以如果是第一种情况,换成系统支持中文的编码就可以了(如果系统不存在支持中文的编码,可以通过安装编码来解决),第二种情况,可以换成系统支持的编码,也可以通过安装编码来解决。
1.切换系统编码(将系统编码切换为 en_US.utf8,C.utf8, 切换成其他的utf8的理论上应该也可以,我没有去试过,我用的是这两种):
(1)通过grep 筛选查询系统是否支持编码 locale -a | grep en_US.utf8:
(2)修改系统环境变量vim /etc/profile 设置export LANG=en_US.utf8:
(3)加载环境变量输入指令即可:source /etc/profile
(4)验证是否修改成功 locale:
(5)如果没有改重启系统reboot试试。
二.Docker 环境中文乱码
1.查看docker 环境是否有问题,先通过 bash指令进入docker docker exec -ti server_1 /bin/bash(server_1 是服务器的名称,也可以通过docker ps 查看docker id,通过id访问):
进入docker 系统后,按照上面centos查看的方法,即locale和locale -a 查看系统当前编码,和系统支持的编码
2.如何切换docker环境的编码
找到服务的Dockerfile文件,在文件里加入要切换的编码 ENV LANG en_US.utf8(一定要确保系统有这个编码 通过locale -a查看):
FROM jdk8:1.0 EXPOSE 8080 ENV LANG en_US.utf8 VOLUME /tmp ADD ./target/server.jar /app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"]
重新编译打包服务既可以文章来源:https://www.toymoban.com/news/detail-423712.html
通过locale指令查看编码转换,即修改成功文章来源地址https://www.toymoban.com/news/detail-423712.html
到了这里,关于Centos/Docker 环境中文乱码如何解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!