docker下java中文显示问号

docker下java中文显示问号,第1张

docker下java中文显示问号

docker启动项目,中文显示问号,积极百度后发现要给系统设置中文语言

locale

LANG=zh_CN.UTF-8

设置完成后,发现没有用,继续百度

locale -a #查看当前语言

发现虽然设置了语言是zh_CN.UTF-8,但是其实当前系统并没有这个语言包

然后就开始装语言包

yum install glibc-langpack-zh

因为数据源的问题,这个包下不下来,然后还不准随便换,前辈就让我去网上下一个,手动装

百度摸到阿里的社区下了这个包,下的时候记得看一下架构,我下的时候就没看随便下了一个,安装的时候就报错

uname-a #查看当前系统的架构

阿里云开发者社区-云计算社区-阿里云

下好了过后,把语言包丢到/usr/share/fonts文件夹下(不确定别的文件夹行不行)

然后执行以下命令

rpm -ivh glibc-langpack-zh-2.28-72.el8.x86_64.rpm

执行完报错,说是有依赖没有,于是换成以下命令执行

rpm -ivh glibc-langpack-zh-2.28-72.el8.x86_64.rpm --nodeps --force

完成后再看语言包,这时再运行locale -a,发现语言包已经有了

 

 

再设置一下LANG=zh_CN.utf8(要和语言包里的名字一样),整个环境就是中文了

你以为这样就好了,其实并没有什么卵用,因为这个是临时的环境,下一次连接就换了,永久的要改配置文件,可以自行百度,而且和系统是不是中文没关系。(已经要气死了)

然后怀疑是docker的问题,接着去百度,说是在编译文件dockerfile里添加环境变量,设置语言为zh_CN.utf8就行了,试了一下,白扯

找了半天总算找到一个情况一样的,是docker容器的环境问题,运行以下命令,进入docker运行环境

docker exec -it test /bin/sh  #test为容器名

进入环境后运行以下命令查看环境变量和语言包

evn #环境变量

locale

发现docker下没有中文语言包,然后又去百度怎么为docker容器添加语言包

参考别的老师提供的dockerfile

FROM centos:7
# 基于官方centos7精简版基础镜像,添加中文支持
# 替换yum源
COPY CentOS-base.repo /etc/yum.repos.d/
# 更新软件
RUN yum -y upgrade
# 安装中文包
RUN yum install -y kde-l10n-Chinese
# 重新安装glibc-common
RUN yum -y reinstall glibc-common
# 编译生成语言库
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 设置语言默认值为中文,时区改为东八区
RUN echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8 

将以下代码添加到自己的dockerfile中

# 替换yum源
COPY CentOS-base.repo /etc/yum.repos.d/
# 更新软件
RUN yum -y upgrade
# 安装中文包
RUN yum install -y kde-l10n-Chinese
# 重新安装glibc-common
RUN yum -y reinstall glibc-common
# 编译生成语言库
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 设置语言默认值为中文,时区改为东八区
RUN echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf

ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8 

然后重新build,运行后发现中文正常显示,我又嫌弃build的时候搞太多东西,太慢了,很多只用搞一次就行,就把 " # 编译生成语言库 " 以上的部分注掉了,再次build,中文还是正常显示

参考:

https://www.cnblogs.com/yg_zhang/p/4331498.html

https://blog.csdn.net/weixin_41010198/article/details/109166131

docker java 镜像中文乱码问题解决_skybot的专栏-CSDN博客_docker java 中文乱码

https://www.5axxw.com/questions/content/gd5xe8

https://blog.csdn.net/qq_39314099/article/details/105047820

https://www.jianshu.com/p/7236cea9adfc

https://www.cnblogs.com/h2285409/p/14745010.html 

https://blog.csdn.net/zhujing16/article/details/107502403

 如何在Linux下如何安装多语言包_weixin_30553837的博客-CSDN博客

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4676577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存