记解决项目部署在CentOS中文变成?的问题

SpringBoot项目部署到生产环境后查看日志发现所有中文字符变成了???。。。。。。
记录一下排错思路和解决方式,,,警钟长鸣
在这里插入图片描述
首先想到的就是日志输出到文件时没有设置编码,造成日志内容输出时乱码,因为项目在本地idea控制台的日志是正常的。
在这里插入图片描述
查看项目的logback-spring.xml文件中输出到文件时的encoder的charset为UTF-8,不是日志配置的问题,继续排查。。。
接下来排查一下是否是系统的原因
本地开发win10系统,查看本地日志文件的内容,
在这里插入图片描述
发现本地日志文件是正常的,那就肯定是系统的原因没跑了。。。不过谨慎期间还是再验证一下
查看一下服务器上其它中文文件是否正常
在这里插入图片描述
发现服务器上其它文件中的中文也变成了?
通过locale查看服务器语言环境
在这里插入图片描述
打开编辑/etc/locale.conf, 将
LANG="en_US.UTF-8"修改为

-bash-4.2# vi /etc/locale.conf 
LANG="en_US.UTF-8"


-bash-4.2# source /etc/locale.conf

手动重启服务后汉字显示正常






你以为问题解决了?No!!!
过了一会儿查看日志又乱码了,仔细想想中间经历了什么?
中间提交了一次代码到gitlab上,触发了一次Jenkins项目构建,构建成功后项目重启!!!
之后查看日志又出现了中文变成????
严重怀疑是Jenkins执行启动脚本没有获取到系统环境变量,在Jenkins执行脚本前加上export LANG=“en_US.UTF-8”,手动触发一次Jenkins构建过程,查看日志正常
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值