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

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

Docker容器java生成文件名称不支持中文

Docker容器java生成文件名称不支持中文

解决:

# 安装中文语言包
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

本文最后记录时间 2024-03-30
文章链接地址:
https://me.jinchuang.org/archives/1203.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
Docker容器添加host
Docker 设置网络代理
Docker build报错 DeadlineExceeded: failed to fetch oauth token: Post "https://auth.docker.io/token"
Kubeadm 初始化时候报的警告信息 detected "cgroupfs" as the Docker cgroup driver ···

禁用Win10系统更新

lfs列出linux文件系统图形化使用详情的命令

留言

顶部