【问题标题】:How set encodings in Jenkins to UTF-8如何将 Jenkins 中的编码设置为 UTF-8
【发布时间】:2018-02-17 02:47:44
【问题描述】:

控制台输出中的西里尔符号显示不正确。 Jenkins 在 Windows 7 上通过 Tomcat / 8.5.11 运行
Jenkins 属性显示:
file.encoding Cp1251
sun.jnu.encoding Cp1251
sun.stderr.encoding cp866
sun.stdout.encoding cp866

如何在 Jenkins 中设置 UTF-8 编码? 自动测试代码中的编码是 UTF-8。
这是西里尔文字的示例问题
_максимум_информации

已解决: 我在 bin 文件夹中创建了文件 setenv.bat 并设置了 JAVA_OPTS="-Dfile.encoding=UTF-8"

【问题讨论】:

标签: java tomcat jenkins utf-8


【解决方案1】:

根据这个答案: JVM property -Dfile.encoding=UTF8 or UTF-8?

您必须将此 JVM 设置添加到您的 Jenkins 启动脚本 (JAVA_TOOLS_OPTIONS):

-Dfile.encoding=UTF8

【讨论】:

  • 请注意,您需要在主节点和所有从节点上执行此操作。
【解决方案2】:

我在 bin 文件夹中创建了文件 setenv.bat 并设置了 JAVA_OPTS="-Dfile.encoding=UTF-8"

【讨论】:

    【解决方案3】:

    对于获取此控制台输出的代理:

    确保设置了代理的环境变量"LC_ALL=C.UTF-8";控制台输出将在之后返回:

    示例管道:

    pipeline {
       agent any
       stages {
          stage('Hello') {
             steps {
                
                echo 'Hello World'          
                
                // Latin characters always OK here.
                echo 'áéíóú' 
                
                script {
                   
                   // Agent requires env variable `"LC_ALL=C.UTF-8"`
                   // to see 'ó' correctly through Console Output.
                   sh "echo Versión ..."
                   
                   // Check available locales
                   sh "locale -a"
                }
             }
          }
       }
    }
    

    在 Docker 中使用 Jenkins:

    Jenkins 控制器 - 版本 2.289.2;图片:詹金斯/詹金斯:lts-jdk11

    Jenkins 代理 - 回购摘要 ID:jenkins/ssh-agent@sha256:3292bc96

    【讨论】:

      猜你喜欢
      • 2013-01-18
      • 1970-01-01
      • 2011-11-06
      • 2021-02-10
      • 1970-01-01
      • 2012-03-10
      • 2012-02-01
      • 2016-05-10
      • 2011-06-30
      相关资源
      最近更新 更多