程序员程序猿阵线联盟-汇总各类技术干货

Jenkins console中文乱码问题

2018-05-07  本文已影响582人  doctordc

Jenkins控制台中文总是乱码,看了几篇参考文章

https://blog.csdn.net/sinat_21302587/article/details/68061204

https://blog.csdn.net/felix_yujing/article/details/52579248

https://blog.csdn.net/huangshaotian/article/details/7472662

试了试这个java代码,发现java环境的编码确实是utf-8,但是在Jenkins的systeminfo里看file.encoding和sun.jnu.encoding却不是utf-8,看到Jenkins主界面上提示Your container doesn’t use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. See Containers and Tomcat i18n for more details.

应该是Tomcat的默认编码没有设置好,去Stack Overflow搜了一下

https://stackoverflow.com/questions/46112011/how-set-encodings-in-jenkins-to-utf-8

于是将Tomcat下conf里的server.xml文件下connector相应的加上了useBodyEncodingForURI="true"

大概就是<Connector userBodyEncodingForURI="true" port="xxxx" ...... />

顺便解释一下

URIEncoding="UTF-8" //对URI使用utf-8编码处理

useBodyEncodingForURI="true" //设置POST和GET使用相同编码

乱码的情况用下面一个就可以了,好像看了看不能同时用这俩属性吧,不确定。

然后再Tomcat的bin目录下增加了setenv.sh

内容为

JAVA_OPTS = "$JAVA_OPTS -Dfile.encoding=UTF-8"

完毕后重启了一下Tomcat,发现乱码问题解决了。

上一篇 下一篇

猜你喜欢

热点阅读