• 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

    1. 配置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查看下语言情况,显示没有设置成功。

    1. 在运行的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/ 经检查,里面的临时修改方法是无效的

    1. 启动时或进入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