Jenkins console中文乱码问题
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,发现乱码问题解决了。