解决docker 容器设置中文语言包出现的问题
作者:hnmpf 发布时间:2023-08-17 07:18:04
如果在Docker 中采用 docker search centos
采用 docker pull docker.io/centos 下载基础镜像
这个镜像是不支持中文的,可以采用docker attach 容器ID进入容器后采用"locale"查看
可以采用“locale -a” 查看系统语言包,会发现没有中文包
解决方案:
1、yum install kde-l10n-Chinese -y 安装语言包(针对centos 7)
2、yum reinstall glibc-common -y 更新gitbc 包(因为该镜像已 * 了该包的部分功能,所以需要更新)
3、localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 (设置系统语言包)
4、ENV LC_ALL zh_CN.UTF-8 通过设置环境变量的方式设置(可以采用直接修改/etc/locale.conf 文件来实现,不过需要reboot)
5、如果采用Dockerfile 的方式,那么可以参考下面
# 版本信息
FROM docker.io/centos:latest
MAINTAINER mapengfei "pengfeima@powerbridge.com"
#设置系统编码
RUN yum install kde-l10n-Chinese -y
RUN yum install glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
#RUN export LANG=zh_CN.UTF-8
#RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf
#ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
补充:修改Docker容器字符编码为-zh_CN.UTF-8中文字符集
版本记录
2019.4.26日 第一版
问题描述
公司的java项目中使用了openoffice和pdf2html对文件进行格式转换,word,ppt,pdf文件都转换没有问题,唯独excel转换后显示乱码
背景介绍
项目在Docker容器中运行,Docker版本:Docker version 18.06.1-ce, build e68fc7a
容器系统的内核版本:3.10.0-514.el7.x86_64
容器系统的发型版本:Cent0S7
故障原因
和架构沟通过后知道了word,pdf,ppt文件是通过openoffice和pdf2html配合转换的,但excel文件却没有这样处理,而是用了网上开源的java代码实现的,架构看了代码后发现在转换excel文件的时候这段代码读取了宿主系统的语言配置,所以确定了问题的原因就是系统字符编码设置。
解决方法
查看系统字符编码没问题(注意前三行),看来字符集设置正确。排查一下前三行的问题,网上说是没有安装中文字符集导致的
[root@4273aa460888 opt]# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
我们看一本机都安装了哪些字符集,我擦,果然没有安装中文字符集.....(没有安装就算你设置了也没用)
[root@4273aa460888 opt]# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US.utf8
再看一下/etc/locale.conf的内容,干,还是英文字符集......
[root@4273aa460888 opt]# cat /etc/locale.conf
LANG="en_US.UTF-8"
好,我们接下来安装一下中文字符集
删除yum.conf文件中的语言配置
sed -i '13'd /etc/yum.conf
安装字体和glibc
yum install -y kde-l10n-Chinese glibc-common
我们再看一下,终于有了
[root@35b0e9b16498 opt]# locale -a|grep zh
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
我们再修改一下/etc/locale.conf文件
echo -e 'export LANG="zh_CN.UTF-8"\nexport LC_ALL="zh_CN.UTF-8"' > /etc/locale.conf
source /etc/locale.conf
我们再看一下字符编码,好了,没有报错,且一切正常。
[root@35b0e9b16498 opt]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/hnmpf/article/details/81478972
猜你喜欢
- 我知道最近大家都听说了老版本的 Wordpress 被攻击的消息。如果你还没有升级你的博客到最新最好的 Wordpress 版本,现在就花点
- WP-PageNavi一款是由 Lester “GaMerZ” Chan 开发的文章分页插件, 给你的WordPress博客主题页面导航来个
- 2009年9月28日由51wan(我要玩)举办的“寻找女一号”选秀大赛,已如火如荼的进入到了第二阶段(51强进25强)!在经过一个月的残酷报
- 不算前言的前言前两天小韩简单写了写关于在网站编程中跨站漏洞的一些知识,如果你还没有看到,那么为什么不现在就去看看呢:跨站漏洞解析-小韩网站编
- 地居首都,又是全国文化中心的北京,设计力量也集中了全国最优秀的人才。相比其它城市,北京拥有更多原创的力量,而且,无论是原创的作品,还是原创的
- 现在有许多新站长抱怨百度对新站的收录速度问题,虽然我也是新的站长,我的网站暂时还没有被百度收录,但我还是要发表一下我对百度收录的几点看法:1
- 1、对网站的代码进行检查,检查是否被黑客放置了网页木马和ASP木马、网站代码中是否有后门程序。2、对网站代码安全性进行检查,检查是否存在SQ
- 要做竞争对手分析,首先就是要确定竞争对手,已经存在的和潜在的竞争对手也许都盯着你。互联网上的竞争点很多体现在网站上,这里为大家整理了竞争对手
- VirtualBox 共享文件夹权限设置及使用方法环境:主机(host):windowsXP虚拟机:VirtualBox客户机 (guest
- 这几天一华尔街日报专栏作家Mark Penn的一篇《美国新职业“专职博客”》赢得不少关注。这篇文章的原文在这里。我稀里糊涂博客五年,对这个话
- 国外站点网页访问速度慢,但下载速度令人非常满意,这到底是什么原因呢?至于美国站点访问慢就不用说了,但下载速度Blinux曾请人做过测试,速度
- 目前,市场上有多种Internet邮件服务器产品供选择,这些邮件服务器产品价格各异,所提供的功能也有不少差别。对于网络管理员来说,如何根据自
- 代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站。随着代理服务器的广泛使用,随之而来的是一系列的安全问题。由于没有对代理服务
- 新一代的内容协作平台 Lotus Quickr 8.0 于 6 月 26 日在全球发布,Lotus Quickr 的诞生将对企业协同办公产生
- 在上一期,我们为站长介绍了“活动”功能,活动的功能主要是满足站长组织线下活动的需要,形成了一条从活动的报名、组织到活动回顾的主线,不仅能增强
- 1:查看环境: [root@localhost ~]# cat /etc/redhat-release2:关掉防火墙#重启后生效开启[roo
- 这个问题困扰了我一整天,都没有搞定,到处寻找解决方法。逛遍DEDE官方论坛与DZ官方论坛均没有一个祥细的步骤。其实发现,也蛮简单,所以发出来
- 任何服务器,安全与性能是两个永恒的主题。作为企业的信息化安全人员,其主要任务就是如何在保障服务器性能的前提下提高服务器的安全性。而要做到这一
- 1、关闭Hyper-V【控制面板】-> 【程序】-> 【启动或关闭Windows功能】->关闭【Hyper-V】2、关掉
- 曾经有一个网站,拥有高质量的流量,每天Google AdSense收入却不高,后来经Google AdSense小组帮助优化广告之后,每天G