侧边栏壁纸
博主头像
Z同学博主等级

工作磨平激情前,坚持技术的热忱。 欢迎光临Z同学的技术小站。 分享最新的互联网知识。

  • 累计撰写 274 篇文章
  • 累计创建 55 个标签
  • 累计收到 74 条评论

JenKins 2.319.1 在Windwos 系统中编译时,控制台输出中文乱码问题-修复

Z同学
2021-12-27 / 0 评论 / 1 点赞 / 456 阅读 / 1,055 字
温馨提示:
本文最后更新于 2021-12-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1.问题

我们在使用JenKins编译Android项目时,特别是进入到Gradle脚本执行的时候。出现错误后,很容易出现中文乱码情况。

相较于以前的版本,现在JenKins的乱码情况已经有比较大的改进了。

但是第三方编译插件还是很容易出现乱码,主要原因在于GBK格式和UTF-8格式的问题。

(PS:还有一种情况,我们在选择控制台输出下面的 文本方式查看时,出现的乱码问题。都是一种解决方法)

2.分析

相同的配置,如果是在Linux系统之中,就不会出现这个情况。主要就是在Windows中。Windows中文操作系统,默认的字符输出编码格式是GBK。而我们在使用各种第三方插件的时候,那些第三方插件jar的输出日志很多是utf-8的。

然后在JenKins的控制台输出上就出现了乱码情况。

例如:绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆? 这个就是一个比较典型的中文字符乱码。

image-20211223162532722

3.解决方案

既然如此,那么我们就将JenKins的输出数据格式改为utf-8那么不就能解决了么。 utf-8也是支持中文字符的。

GBK每个汉字两个字节,UTF-8每个汉字三个字节。所以编码就会错误了。英文字母由于字节都是一样,所以不会出现不同编码造成的乱码情况。

1.在Menage Jenkins 的Configure System 之中添加全局属性

image-20211227143331448

image-20211227143312639

添加:

键: LANG

值:zh.CH.UTF-8

2.在你的JenKins安装目录下的jenkins.xml 文件夹中添加编码格式

image-20211227143757325

打开jenkins.xml文件然后添加: -Dfile.encoding=utf-8

image-20211227143856319

这个的意思就是说,我们通过jenkins启动jar的时候,采用utf-8的编码格式。

这样就能将格式统一为utf-8了。也就能避免上面的乱码情况了。

3.重启JenKins 让配置生效

image-20211227144116020

在你的JenKins 访问地址后,加上restart 然后就可以进行重启jenkins了。

4.验证

如何验证我们的修改是否有效果呢?很简单,我们重启成功后访问Manage Jenkins菜单下面的:System Information

image-20211227144245342

当我们看到 file.encoding : GBK 改为了utf-8。那就代表我们修改成功了。

image-20211227144314834

如果重启之后,还是GBK并没有变为utf-8 的话。

有几种可能:

​ 1.你在JenKins.xml文件中配置不正确。

​ 2.你修改后没有保存xml文件就重启了。

​ 3.如果一次重启没有成功,你多重启两遍。如果仍然还是不行,那么我这个方法可能对你并没有太好的效果。

这个编码格式的改变,其实主要是jenkins.xml文件上修改的。

1

评论区