Docker容器中文乱码如何解决

这篇文章主要介绍了Docker容器中文乱码如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker容器中文乱码如何解决文章都会有所收获,下面我们一起来看看吧。

创新互联公司是一家集网站建设,泽普企业网站建设,泽普品牌网站建设,网站定制,泽普网站建设报价,网络营销,网络优化,泽普网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名全部变成?,英文文件名则正常显示。

  问题经过定位,发现后台代码的multipartfile类在执行transterto的方法时就发生了此异常,然而配置文件集中的multipartresolver以及encodingfilter均已经设置成了utf-8,排除代码异常。kubectl exec进入到docker容器中进行查看时发现,文件在容器中也是中文文件名显示异常。查看docker容器编码格式:执行locale命令;可以看到当前编码格式为posix,而这种编码格式不支持中文

Docker容器中文乱码如何解决

  解决办法:locale -a查看容器所有语言环境

Docker容器中文乱码如何解决

  c.utf-8可以支持中文,只需要把容器编码设置为c.utf-8即可

    1.临时修改:

       locale
       locale -a
      .utf-8  (有的是zh_cn.utf-8,不过我在本地没发现这种编码)
       source /etc/profile

    2.永久修改:修改dockerfile

      在dockerfile中添加一行

      env lang c.utf-8

      重新制作docker镜像,docker run -ti [镜像] 进入容器后执行locale发现编码格式已经被修改为c.utf-8,之前出现的中文文件名乱码问题也没有了。

关于“Docker容器中文乱码如何解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Docker容器中文乱码如何解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


本文标题:Docker容器中文乱码如何解决
文章起源:http://cdiso.cn/article/peechs.html

其他资讯