靳闯博客 记录是一种习惯 、分享是一种态度
  • 波浪
  • 波浪
  • 波浪
  • 波浪
docker容器java生成文件名称不支持中文
发表于: | 分类: 技术积累 | 标签: Docker

java服务跑在docker容器中,使用的centos7镜像,在导出文件在保存时中文名称都是????

问题:

百度搜的大多都是Dockerfile指定环境变量ENV LANG=C.UTF-8
或者就是在profile配置文件中加上LANG=zh_CN.UTF-8"
但是都不行,用的是官方的centos7镜像,里面支持的字符集没有zh_CN的,改了也是没有效

后来用谷歌搜索(只能说谷歌搜索的内容还是挺精准的,百度搜出来有用的很少),找到有效解决办法
参考链接:
https://blog.csdn.net/hnmpf/article/details/81478972
https://www.codeleading.com/article/22505552705/
https://blog.csdn.net/wo541075754/article/details/89787894

查看当前默认的语言字符集

lang.png
乱码.png

解决:

# 安装中文语言包
yum install kde-l10n-Chinese -y

# 重新安装glibc-common包
yum reinstall glibc-common -y

# 生成语言环境数据库
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

# 查看本地支持语言已经有zh_CN.utf8了
locale -a

使用的话,在Dockerfile构建镜像时候设置下ENV LANG=zh_CN.UTF-8,制作一个支持中文字符集的底层镜像

# 安装中文语言
RUN yum install net-tools kde-l10n-Chinese -y
RUN yum reinstall glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

# 指定环境变量ENV
RUN export LANG=zh_CN.UTF-8
RUN echo "LANG=zh_CN.UTF-8" > /etc/locale.conf
ENV LANG=zh_CN.UTF-8
ENV LC_ALL=zh_CN.UTF-8

本站文章除注明转载/出处外,均为本站原生内容,转载前请注明出处 | 文章链接地址:https://me.jinchuang.org/archives/1203.html

如果这篇文章帮助到了你,我感到十分荣幸!

记录 🐾 分享 👣 进步 💪 变强


📬 评论留言

顶部