jenkins在windows上中文乱码问题

这篇具有很好参考价值的文章主要介绍了jenkins在windows上中文乱码问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求

项目需要,我采用jenkins + python + vs2017来实现自动打包的流程,之前都是用现成的,这一次是自己实践,搭建过程就省略了,教程太多,jenkins控制台的乱码问题,倒是让我比较困扰,所以记录一下。

问题现象

jenkins中开始打包任务之后,发现在vs2017编译之后输出的日志中,中文部分都是乱码。

无效解决

  1. 在网上发现一个方式,在系统设置的语言设置中,将当前系统的编码选择为beta版Unicode编码,重启系统,启动jenkins,可以看到中文确实展示正常,但是,此时我们的代码中各种错误,是因为之前都是使用gbk编码,现在整个系统都变成了Unicode编码,所以报错,一般的大工程中,去修改代码是不现实的,所以这个方法pass
  2. 又发现一个比较古老的方式,在系统环境变量中设置JAVA_TOOL_OPTIONS路径,配置上utf-8,然后在jenkins的系统设置,在全局属性添加LANG和utf-8的键值对,这个方法也不起作用,java使用的Unicode编码,现在jenkins基本和java保持抑制了
  3. 以及还有在python中头部添加“coding=utf-8”这种方法,也不起作用。现在的python3.x之后,默认都是utf-8的编码
  4. 还看到一个方法,就是在终端里面使用chcp 65001来设置,但是我尝试发现,这个也不起作用

思考

后来我又尝试了另一种方案,我把输出的日志内容写到文件中,发现其编码是gbk,所以我将这个日志内容转换成了utf-8,但是输出的中文还是乱码。
然后结合上面第一个解决方案,发现关键就在于windows控制台输出编码和utf-8的冲突,所以还是要从系统控制台编码上入手,才应该可能解决。

最终解决

最终我发现了一个帖子,从里面找到了一下几个东西:

sys.getdefaultencoding()    #系统编码          ===>  utf-8
sys.getfilesystemencoding() #文件编码          ===>  utf-8
sys.stdin.encoding          #控制台输入流编码   ===>  gbk
sys.stdout.encoding         #控制台输出流编码   ===>  gbk
sys.stderr.encoding         #控制台错误流编码   ===>  gbk

所以现在,就知道了乱码的根源,无论我们的日志是什么编码,都将按照gbk来输出,然后jenkins这边会以utf-8来解析,所以乱码出现了,紧接着就找到了python中专门设置编码的方法,如下:

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')

我的场景中需要用的就这两个,所以将这两个流的编码设置为utf-8,再次实验,完美解决乱码问题。

参考

主要感谢下面这个文章的大神

修改控制台输入输出以及错误流的编码提示文章来源地址https://www.toymoban.com/news/detail-619781.html

到了这里,关于jenkins在windows上中文乱码问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows terminal 添加 git bash 解决git中文乱码显示问题

    说明: 点击箭头 选择设置 说明: 点击\\\"添加新配置文件\\\" 配置名称 命令行,可执行文件的具体语句 C:Program FilesGitbinbash.exe 启动目录,配置指定目录,默认打开是在 terminal 的安装目录 图标,用于在终端前显示 解决办法:在命令行中添加参数 --login -i ,完整的命令行内容

    2024年02月14日
    浏览(44)
  • Windows10环境下的Eclipse控制台输出中文乱码的问题的解决

    操作系统:Windows10中文版 IDE:Eclipse 2022-12 开发语言:Java JDK19 项目编码:UTF-8 写了一个很简单地main方法,打印出中文,结果出现了乱码的情形,如下图: 上网搜索了很多解决方式,大部分都是说要更改项目的字符编码集。如下图: 按照网上的说法将项目的编码字符集由UT

    2024年02月02日
    浏览(70)
  • 在Windows下查看并设置CMD命令行字符编码格式,解决中文乱码问题。

    今天在复习java的时候,用cmd运行java文件时出现了中文乱码问题。其实这个问题我在大一下学期第一次上java课时就遇到了,可惜那时老师使用其他IDE来教学,我也懒得去解决这个问题,这个问题就不了了之了。今天又遇到这个问题,百度了相关资料终于解决。 首先,代码如下

    2024年02月12日
    浏览(42)
  • Jenkins执行流水线项目,控制台输出中文是乱码

    测试环境:         操作系统:Windows 10         Jenkins版本:Jenkins 2.375.1 问题现象: 搭建Jenkins的流水线项目,在Jenkinsfile脚本中想打印中文,运行pipeline后,在Jenkins的Console Output出现乱码 问题原因: 出现Jenkins控制台打印中文乱码问题,通常是由于编码设置不正确导致

    2024年02月06日
    浏览(71)
  • IDEA 控制台日志中文乱码解决方案

    老白新学JAVA,初用IDEA,控制台打印中文总是乱码,网上找了好多解决方法,都不好用,下面记录解决过程。 1.修改idea64.exe.vmoptions ,打开最后一行增加如下代码 idea快捷方式右键-属性-打开文件所有位置,找到idea的安装位置 2.设置IDEA编码格式, 依次打开file-setting-editor-file e

    2023年04月08日
    浏览(65)
  • Java运行时jar时终端输出的中文日志是乱码

    运行Jar时在控制台输出的中文日志全是乱码,这是因为cmd/bash默认的编码是GBK,只要把cmd的编码改成UTF-8即可  两种方式修改:临时修改和注册表永久修改 只对当前的cmd页面有效,关闭后重新打开都会恢复成GBK, 打开cmd,输入以下命令 这样既可以更改cmd的编码为UTF-8了。 以下

    2024年02月10日
    浏览(35)
  • IntelliJ IDEA 中的控制台输出日志中文乱码之解决办法

    IntelliJ IDEA 中的控制台输出日志中文乱码通常是由于控制台使用的默认字符编码与系统不匹配所致。要解决这个问题,请尝试以下方法: 打开 IntelliJ IDEA, 在顶部菜单栏查看 Run/Debug Configurations 列表。这是您项目中所使用的配置列表。 选择您要修改的 Run/Debug Configuration。如果有

    2024年02月08日
    浏览(74)
  • powershell中文乱码 windows cmd

    问题的起因是windoes默认字符编码是GBK,而目前通用字符集使用的是UTF-8 关于字符集的问题欢迎移架到 字符集 最终解决方案 为使用最新的windows特性,将默认字符集切换到UTF-8 方法1. 进入控制面板 - 时钟和区域 - 区域 - 管理 - 更改系统区域设置 - 勾选Beta版:使用 UnicodeUTF-8提供全

    2024年02月02日
    浏览(46)
  • windows 解压文件出现乱码 7zip解压文件中文乱码 解决方法

    按照如下教程,更改windows默认编码格式为utf-8之后。 https://blog.csdn.net/qq_43780850/article/details/129122210 解压文件时,文件中的中文出现乱码。原因是压缩文件的格式为GBK,而我将windows平台的默认编码改成了UTF-8,导致解压出现乱码。此时只需要按照上面的教程,取消勾选utf-8支持

    2024年02月13日
    浏览(52)
  • 串口打印中文乱码及注释乱码问题

    在使用keil5中出现如下问题: 这时候的解决方法是在keil5顶头工具栏上进入:Edit→Configuration,如下然后进行选择GB2312编码方式: 在检查串口波特率等设置双方均一样之后,还是出现中文乱码问题的解决方法如下: 方法一: ​ 在进行上面的操作后,注释处中文乱码问题解决

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包