如何在windows bat / powershell中显示德语元音,这是通过jenkins管道脚本调用的?
尽管我更改了代码页,但我在所有情况下都得到了相同的错误结果:用ä
代替ä
。我已经在jenkins中定义了全局环境变量LC_ALL = 'de_DE.UTF-8'
、LANG = 'de_De.UTF-8'
和LANGUAGE = 'de_DE.UTF-8'
,但这并没有改变任何事情。
感谢您的帮助和回复!
测试用例:
#!/usr/bin/env groovy
pipeline {
agent any
stages {
stage ('Test') {
steps {
echo "batch ----------"
bat "chcp & echo ä"
bat "chcp 850 & echo ä"
bat "chcp 1252 & echo ä"
echo "powershell ------"
powershell "chcp; echo ä"
powershell "chcp 850; echo ä"
powershell "chcp 1252; echo ä"
}
}
}
}
输出:
...
batch ----------
11:21:43 [Pipeline] bat
11:21:44
11:21:44 XXX\pipeline_test1>chcp & echo ä
11:21:44 Active code page: 850
11:21:44 ä
11:21:44 [Pipeline] bat
11:21:44
11:21:44 XXX\pipeline_test1>chcp 850 & echo ä
11:21:44 Active code page: 850
11:21:44 ä
11:21:44 [Pipeline] bat
11:21:44
11:21:44 XXX\pipeline_test1>chcp 1252 & echo ä
11:21:44 Active code page: 1252
11:21:44 ä
11:21:44 [Pipeline] echo
11:21:44 powershell ------
11:21:44 [Pipeline] powershell
11:21:46 Active code page: 65001
11:21:46 ä
11:21:46 [Pipeline] powershell
11:21:47 Active code page: 850
11:21:47 ä
11:21:47 [Pipeline] powershell
11:21:49 Active code page: 1252
11:21:49 ä
...
发布于 2019-11-20 02:03:08
输出ä
是将UTF8编码的字母ä
解释为ANSI (当前代码页)的结果。作为实验,启动Notepad++,将编码设置为"ANSI",粘贴ä
,将编码设置为"UTF-8“(而不是转换!)。您将看到letter ä
。
bat
和powershell
步骤都有一个encoding
参数。传递'UTF-8'
以获得正确的输出:
bat encoding: 'UTF-8', script: "echo ä"
https://stackoverflow.com/questions/58931996
复制相似问题