当前位置: 首页 > news >正文

Centos/Docker 环境中文乱码如何解决

一.Centos环境乱码

1.通过locale 查看当前环境的编码情况:

 2.locale -a查看系统支持的编码:

 一般中文乱码,有两种情况,一是当前环境的编码不支持中文,二是当前环境的编码系统并不支持,也就是说通过locale中看到的编码再locale -a中并不存在。所以如果是第一种情况,换成系统支持中文的编码就可以了(如果系统不存在支持中文的编码,可以通过安装编码来解决),第二种情况,可以换成系统支持的编码,也可以通过安装编码来解决。

1.切换系统编码(将系统编码切换为 en_US.utf8,C.utf8, 切换成其他的utf8的理论上应该也可以,我没有去试过,我用的是这两种):

(1)通过grep 筛选查询系统是否支持编码 locale -a | grep en_US.utf8

(2)修改系统环境变量vim /etc/profile  设置export LANG=en_US.utf8:

 

(3)加载环境变量输入指令即可:source /etc/profile

(4)验证是否修改成功 locale

(5)如果没有改重启系统reboot试试。

 二.Docker 环境中文乱码

 1.查看docker 环境是否有问题,先通过 bash指令进入docker docker exec -ti server_1  /bin/bash(server_1 是服务器的名称,也可以通过docker ps 查看docker id,通过id访问):

 进入docker 系统后,按照上面centos查看的方法,即locale和locale -a 查看系统当前编码,和系统支持的编码

2.如何切换docker环境的编码

找到服务的Dockerfile文件,在文件里加入要切换的编码 ENV LANG en_US.utf8(一定要确保系统有这个编码 通过locale -a查看):

FROM jdk8:1.0
EXPOSE 8080

ENV LANG en_US.utf8
VOLUME /tmp
ADD ./target/server.jar  /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]

重新编译打包服务既可以

通过locale指令查看编码转换,即修改成功

相关文章:

  • VS2019 Qt源码编译
  • Linux8-fork父子进程逻辑地址相同、进程的逻辑地址与物理地址、fork相关例题、僵死进程
  • java毕业设计普通中学体育卫生信息管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  • 基于C语言的查找算法汇编
  • 多网段多通道IP地址和通讯端口转换
  • 【PyQt】PyQt入门安装和Hello World
  • 怎样创建一个VUE项目(超简单)
  • C++【STL】【queue的使用和模拟实现】【priority_queue的使用和模拟实现】
  • SAP PI PO 接口常见问题处理:在监控器中找不到一个或多个 XI 消息的日志记录
  • L2TP客户端之Strongswan移植(三)
  • matplotlib入门之抛砖引玉
  • java-php-python-springboot携手助学助学交流平台计算机毕业设计
  • Android wifi sniffer log总结分析
  • 山东大学数字图像处理实验(二)
  • linux多个jdk时,java -version显示的版本有错误
  • Cookie 在前端中的实践
  • DataBase in Android
  • HTML-表单
  • Making An Indicator With Pure CSS
  • Vue ES6 Jade Scss Webpack Gulp
  • Vue.js 移动端适配之 vw 解决方案
  • Vue--数据传输
  • 程序员最讨厌的9句话,你可有补充?
  • 思维导图—你不知道的JavaScript中卷
  • 微服务核心架构梳理
  • 项目管理碎碎念系列之一:干系人管理
  • 一份游戏开发学习路线
  • 一天一个设计模式之JS实现——适配器模式
  • 优秀架构师必须掌握的架构思维
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​人工智能书单(数学基础篇)
  • $.ajax中的eval及dataType
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (九)信息融合方式简介
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET Core 版本不支持的问题
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net 设置默认首页
  • .net流程开发平台的一些难点(1)
  • .NET值类型变量“活”在哪?
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [100天算法】-x 的平方根(day 61)
  • [20150707]外部表与rowid.txt
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [C#]winform制作仪表盘好用的表盘控件和使用方法
  • [C/C++]数据结构 深入挖掘环形链表问题
  • [codevs 1515]跳 【解题报告】
  • [Django 0-1] Core.Checks 模块
  • [Editor]Unity Editor类常用方法
  • [HDU3710]Battle over Cities