Jenkins控制台中文乱码
Jenkins控制台中文乱码
设置环境变量 - 系统变量
JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF8
设置Jenkins
环境变量
LANG
zh.CH.UTF-8
Jenkins.xml
- 可自定义使用特定的Java路径
Difile.encoding=utf-8
重启Jenkins
控制台编码格式和文件格式不一致
1
2
3
4
5
sys.getdefaultencoding() #系统编码 ===> utf-8
sys.getfilesystemencoding() #文件编码 ===> utf-8
sys.stdin.encoding #控制台输入流编码 ===> gbk
sys.stdout.encoding #控制台输出流编码 ===> gbk
sys.stderr.encoding #控制台错误流编码 ===> gbk
无论我们的日志是什么编码,都将按照gbk来输出,然后jenkins这边会以utf-8来解析,所以出现乱码
1
2
3
4
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
###
本文由作者按照 CC BY 4.0 进行授权