解决GitLab CI中文乱码问题

在中文版Windows操作系统上使用GitLab CI Runner的时候,如果命令行的输出包含中文,则在GitLab中看到的流水线(Pipeline)日志会出现乱码情况。为了解决这个问题,可以在Runner的初始化脚本中插入语句“chcp 65001”,将命令行输出编码设为UTF-8,之后GitLab的流水线日志就能正常显示MSBuild的中文输出了。

具体操作步骤:在GitLab Runner的配置文件config.toml中,在runners中的pre_clone_scriptpre_build_script属性内添加语句chcp 65001。示例配置文件如下:

...
[[runners]]
  executeer = "shell"
  shell = "powershell"
  pre_clone_script = "chcp 65001"
  pre_build_script = "chcp 65001"
...

类似的方法应该可以也解决其他的日志收集器在中文操作系统上出现乱码的问题。但是,在系统默认命令行窗口中,若使用UTF-8编码,则文本输入等可能存在一定的问题,不建议在正常使用命令行时使用UTF-8编码。

留言

向我们提问或者评论我们的文章。您的留言不会被直接显示在网站内。
请在浏览器中启用JavaScript来完成此表单。
Email