jenkins自动部署web项目到tomcat导致中文乱码

最近把公司的项目使用jenkins来自动化部署,在开发环境中使用一段时间后发现,其中的一个前端接口项目出现中文乱码的问题。跟踪这个问题发现只要是使用jenkins部署的都会导致中文乱码,而如果使用手动部署不经过Jenkins的话项目就一切正常。
所以我想有可能是因为jenkins部署的时候,导致目标服务器那边获取不到相应的环境变量。
把两种方式启动tomcat的catalina.out日志对比了一下,发现项目的启动的encoding值真的不一样:


jenkins.png

one.png

对比发现,jenkins部署的项目的sun.jnu.encoding、file.encoding的值都是ANSI_X3.4-1968。而手动发布的是UTF-8。
具体的是哪里导致出现这种差异我到现在也还没查找出来。
这里直接给出解决方式吧:
1、修改tomcat目录bin文件夹下面的catalina.sh配置文件,在文件中添加一句:export LANG=zh_CN.UTF-8

2、如果不想动tomcat的配置,并且启动项目是shell脚本的话,那就把export LANG=zh_CN.UTF-8这句添加到shell脚本上面。

这样就可以临时解决一下因为jenkins导致tomcat web项目中文乱码的问题了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容