- http://www.nikochan.cc/2017/10/30/DockerSolution/ 经检查,里面的临时修改方法是无效的">如果安装 language-pack-zh-hans 失败,那么需要更新下系统。
# apt-get update & apt-get upgrade。
# 安装字符集
apt-get install -y language-pack-zh-hans;
# 添加中文支持
# zh_CN.UTF-8 等于 zh_CN.utf8
locale-gen zh_CN.UTF-8;
其他的按 2 进行就OK。或者可以重启docker容器
传送门:http://www.nikochan.cc/2017/10/30/DockerSolution/ 经检查,里面的临时修改方法是无效的
打包的工具中利用了xerces_c库进行.xml数据的流式读取。工具在本地运行正常,在docker镜像中却无法解析中文,从而导致流式读取终止。
经过定位,发现是docker镜像中不支持中文,下面列出几种常用配置方法:
参考链接:https://www.jianshu.com/p/43a3468362aa
- 配置Dockerfile镜像时,永久修改。
在 Dockerfile 中添加
ENV LANG C.UTF-8
# ENV LANGUAGE C.UTF-8 #可不配置
# ENV LC_ALL C>UTF-8 #可不配置
2. 在运行的Container中,进行修改。
交互方式运行容器 docker container run —it xxx
先输入locale -a,查看一下现在已安装的语言,查看是否已经有C.UTF-8字符集
再输入locale查看下语言情况,显示语言不正确。
通常设置LANG、LANGUAGE、LC_ALL
这三个就行了。
关于他们三的关系简言之:
LANG默认设置,LC*没设值的时候就拿LANG;LANGUAGE是程序语言设置;LC_ALL强制设置所有LC*
详细传送门: [https://blog.csdn.net/nick357/article/details/8513699]
在/etc/bash.bashrc里面末尾写入,然后source /etc/bash.bashrc。
export LC_ALL=”C.UTF-8”
输入locale查看下语言情况,显示没有设置成功。
- 在运行的Container中,安装新字符集进行修改。
先输入locale -a,查看一下现在已安装的语言。如果没有zh_CN.utf8就需要安装中文字符集和设置中文字符支持。
如果安装 language-pack-zh-hans 失败,那么需要更新下系统。
# apt-get update & apt-get upgrade。
# 安装字符集
apt-get install -y language-pack-zh-hans;
# 添加中文支持
# zh_CN.UTF-8 等于 zh_CN.utf8
locale-gen zh_CN.UTF-8;
其他的按 2 进行就OK。或者可以重启docker容器
传送门:http://www.nikochan.cc/2017/10/30/DockerSolution/ 经检查,里面的临时修改方法是无效的
- 启动时或进入bash时候,设置字符集
# env LANG=C.UTF-8 /bin/bash bash运行env设置LANG环境
docker run -i -t ubuntu env LANG=C.UTF-8 xxx
or
docker exec -it ww env LANG=C.UTF-8 xxxx
————————————————
版权声明:本文为CSDN博主「listen_wq」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/listen_wq/article/details/117737035