docker - Jenkins 控制台打印编码字符
问题描述
从在 linux 容器内运行的声明性管道输出字符时,是否可以更改编码以匹配终端的真实输出?IE
├── file1 +-- file1
├── file2 +-- file2
└── file3 +-- file3
^Formatting I want ^Formatting I get
.
我尝试将以下参数传递给我的 Docker 代理:
-e JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
-e LC_ALL="en_US.UTF-8"
.
结合:
sh returnStdout: true, script: " "
并用“––”–”代替了“+--”,这似乎是“├──”的ANSI编码。
我正在使用 ansiColor 选项,但这似乎没有多大帮助。
.
我看到了这个类似的问题,但我不确定如何在管道中实施解决方案。
解决方案
您可以使用 Jenkins II 将编码更改为 UTF-8。转到 Jenkins ->管理 Jenkins ->配置系统->全局属性
并添加两个环境变量JAVA_TOOL_OPTIONS
并分别LANG
具有值-Dfile.encoding=UTF-8
和en_US.UTF-8
添加这些后,您可能需要重新启动 Jenkins。
参考:https ://www.linkedin.com/pulse/how-resolve-utf-8-encoding-issue-jenkins-ajuram-salim/
更新:
或者您可以<arguments>
在jenkins.xml
文件中更新。例如
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
推荐阅读
- python - Python - 运行进程并等待输出
- wordpress - Woocommerce wc_create_refund 的问题
- jenkins - Jenkins 配置与远程实时服务器
- python - 我的偶数 python 函数索引只返回列表中的第一个偶数。如何让它返回列表中所有偶数的索引?
- javascript - Ionic + Firebase - 实时数据库不更新视图
- angular - Angular 6 过滤器 JSON
- mysql - 我需要在我的 MySQL 语句中做出承诺吗?
- shopify - 如何在我的网站顶部添加多个品牌的导航栏?
- javascript - 用于切换功能和启用/禁用的变量
- bar-chart - mpAndroidChart:条形图只接受固定高度