如何将Jenkins中的编码设置为UTF-8

时间:2017-09-08 08:28:37

标签: java tomcat jenkins utf-8

控制台输出中的西里尔符号未正确显示。 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”

3 个答案:

答案 0 :(得分:8)

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

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

-Dfile.encoding=UTF8

答案 1 :(得分:0)

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

答案 2 :(得分:0)

对于那些使用外部代理运行 Jenkins 作业并在控制台输出中看到类似内容的人,使用带有声明性管道的脚本:

BEFORE

我的解决办法是设置Agent环境变量"LC_ALL=C.UTF-8"

AFTER

样本管道:

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