iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何解决docker容器设置中文语言包出现的问题
  • 494
分享到

如何解决docker容器设置中文语言包出现的问题

2023-06-14 07:06:54 494人浏览 薄情痞子
摘要

小编给大家分享一下如何解决Docker容器设置中文语言包出现的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果在Docker 中采用 docker sear

小编给大家分享一下如何解决Docker容器设置中文语言包出现的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

如果在Docker 中采用 docker search Centos

如何解决docker容器设置中文语言包出现的问题

采用 docker pull docker.io/centos 下载基础镜像

如何解决docker容器设置中文语言包出现的问题

这个镜像是不支持中文的,可以采用docker attach 容器ID进入容器后采用"locale"查看

如何解决docker容器设置中文语言包出现的问题

可以采用“locale -a” 查看系统语言包,会发现没有中文包

如何解决docker容器设置中文语言包出现的问题

解决方案:

yum install kde-l10n-Chinese -y 安装语言包(针对centos 7)

yum reinstall glibc-common -y 更新gitbc 包(因为该镜像已阉割了该包的部分功能,所以需要更新)

localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 (设置系统语言包)

如何解决docker容器设置中文语言包出现的问题

ENV LC_ALL zh_CN.UTF-8 通过设置环境变量的方式设置(可以采用直接修改/etc/locale.conf 文件来实现,不过需要reboot)

如何解决docker容器设置中文语言包出现的问题

如果采用Dockerfile 的方式,那么可以参考下面

# 版本信息FROM docker.io/centos:latestMaiNTAINER mapengfei "pengfeima@powerbridge.com"#设置系统编码RUN yum install kde-l10n-Chinese -yRUN yum install glibc-common -yRUN 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-8ENV 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]# localelocale: Cannot set LC_CTYPE to default locale: No such file or directorylocale: Cannot set LC_MESSAGES to default locale: No such file or directorylocale: Cannot set LC_ALL to default locale: No such file or directoryLANG=zh_CN.UTF-8LC_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 -alocale: Cannot set LC_CTYPE to default locale: No such file or directorylocale: Cannot set LC_MESSAGES to default locale: No such file or directorylocale: Cannot set LC_COLLATE to default locale: No such file or directoryCPOSIXen_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 zhzh_CNzh_CN.gb18030zh_CN.gb2312zh_CN.gbkzh_CN.utf8zh_HKzh_HK.big5hkscszh_HK.utf8zh_SGzh_SG.gb2312zh_SG.gbkzh_SG.utf8zh_TWzh_TW.big5zh_TW.euctwzh_TW.utf8

我们再修改一下/etc/locale.conf文件

echo -e 'export LANG="zh_CN.UTF-8"\nexport LC_ALL="zh_CN.UTF-8"' > /etc/locale.confsource /etc/locale.conf

我们再看一下字符编码,好了,没有报错,且一切正常。

[root@35b0e9b16498 opt]# localeLANG=zh_CN.UTF-8LC_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

以上是“如何解决docker容器设置中文语言包出现的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何解决docker容器设置中文语言包出现的问题

本文链接: https://www.lsjlt.com/news/269031.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决docker容器设置中文语言包出现的问题
    小编给大家分享一下如何解决docker容器设置中文语言包出现的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果在Docker 中采用 docker sear...
    99+
    2023-06-14
  • 解决docker 容器设置中文语言包出现的问题
    如果在Docker 中采用 docker search centos 采用 docker pull docker.io/centos 下载基础镜像 这个镜像是不支持中文的,可以采...
    99+
    2024-04-02
  • Docker容器中出现中文乱码如何解决
    本篇文章给大家分享的是有关Docker容器中出现中文乱码如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,...
    99+
    2023-06-07
  • 解决docker run后容器出现Exited (0)情况的问题
    自己做了个centos7的openresty的Dockerfile,build之后 docker run -d -p 801:80 openresty:1.19 /usr/loc...
    99+
    2024-04-02
  • 解决VSCode设置中文时扩展出错的问题
    标题:解决VSCode设置中文时扩展出错的问题 在日常的开发工作中,许多程序员选择使用Visual Studio Code(简称VSCode)作为主要的集成开发环境。VSCode的扩展...
    99+
    2024-04-02
  • c语言内存溢出问题如何解决
    C语言内存溢出问题可以通过以下几种方式来解决:1. 检查代码逻辑:检查代码中的循环、递归、动态内存分配等地方是否存在错误,比如没有正...
    99+
    2023-10-10
    c语言
  • 解决R语言安装时出现辑程包不存在的问题
    【解决方案】 1.使用命令单独安装caret,安装的时间很长。 install.packages("caret", dependencies = c("Depends", "S...
    99+
    2024-04-02
  • 解决SpringMVC @RequestMapping不设置value出现的问题
    目录SpringMVC @RequestMapping不设置value从上个项目拷贝过来的form的action属性忘了修改了Spring mvc中@RequestMapping 6...
    99+
    2024-04-02
  • Zookeeper中如何解决zookeeper.out文件输出位置问题
    目录修改 $ZOOKEEPER_HOME/bin/zkEnv.sh 文件修改 $ZOOKEEPER_HOME/conf/log4j.properties 文件修改 $ZOOKEEPE...
    99+
    2023-05-14
    Zookeeper zookeeper.out zookeeper.out文件输出位置 zookeeper.out文件输出
  • 如何解决CentOS MAKE中出现的问题
    如何解决CentOS MAKE中出现的问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在CentOS MAKE的使用中会出现很多的问题,这次,我就碰到了CentOS MA...
    99+
    2023-06-16
  • Docker运行Nacos容器自动退出问题的解决方法
    Dokcer运行Nacos容器自动退出问题 参考博文 学生党,租的云服务器,2核2G。使用Docker运行Nacos容器的时候发现总是自动退出。Nacos日志里面没有明显的报错信息。...
    99+
    2024-04-02
  • 如何解决Go语言中的死锁问题?
    如何解决Go语言中的死锁问题?Go语言具有并发编程的特性,可以通过使用goroutine和channel来实现并发操作。然而,在并发编程中,死锁是一个常见的问题。当goroutine之间相互依赖于彼此的资源,并且在访问这些资源时产生了循环依...
    99+
    2023-10-22
    解决方案 Go语言 死锁
  • 如何解决Go语言中的并发文件备份问题?
    如何解决Go语言中的并发文件备份问题?在日常开发中,我们经常会遇到需要备份文件的场景。在某些情况下,我们需要将一个目录下的所有文件进行备份,这时就需要考虑并发备份的问题。本文将介绍如何使用Go语言解决并发文件备份的问题,并提供相应的代码示例...
    99+
    2023-10-22
    并发 解决 文件备份
  • 如何解决Go语言中的并发文件下载问题?
    如何解决Go语言中的并发文件下载问题?在日常的开发中,我们经常会遇到需要下载多个文件的情况。如何利用Go语言的并发特性,提高文件下载的效率是我们需要面对的一个问题。本文将介绍如何使用Go语言解决并发文件下载问题,并提供具体的代码示例。首先,...
    99+
    2023-10-22
    Go语言 文件下载 并发下载
  • 如何解决Go语言中的并发文件下载问题
    在Go语言中,可以通过goroutine和channel来解决并发文件下载问题。以下是一个简单的实现步骤:1. 创建一个用于存储下载...
    99+
    2023-10-09
    Go语言
  • 如何解决Go语言中的并发文件备份问题
    在Go语言中解决并发文件备份问题可以使用协程和通道来实现。以下是一个示例代码:```gopackage mainimport ("i...
    99+
    2023-10-09
    Go语言
  • win11无法安装中文包语言包如何解决
    这篇文章主要介绍“win11无法安装中文包语言包如何解决”,在日常操作中,相信很多人在win11无法安装中文包语言包如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win11无法安装中文包语言包如何解决...
    99+
    2023-07-01
  • 如何解决flex布局中保持内容不超出容器的问题
    这篇文章将为大家详细讲解有关如何解决flex布局中保持内容不超出容器的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在移动端,flex 布局很好用,它能够根据设备宽度来自动调整容器的宽度,用起来很方便...
    99+
    2023-06-08
  • c语言读取文件内容并输出如何解决
    要使用C语言读取文件内容并输出,可以按照以下步骤进行操作: 打开文件:使用fopen()函数打开文件,并将返回的文件指针保存到一...
    99+
    2024-02-29
    c语言
  • 如何解决PIP安装python包出现超时问题
    这篇文章给大家分享的是有关如何解决PIP安装python包出现超时问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们在使用pip默认源进行模块安装时,经常会超时问题导致不能下载。如图所示:  下面是...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作