解決GitLab CI中文亂碼問題
阿新 • • 發佈:2021-12-24
在中文版Windows作業系統上使用GitLab CI Runner的時候,如果命令列的輸出包含中文,則在GitLab中看到的流水線(Pipeline)日誌會出現亂碼情況。
為了解決這個問題,可以在Runner的初始化指令碼中插入語句“chcp 65001”,將命令列輸出編碼設為UTF-8,之後GitLab的流水線日誌就能正常顯示MSBuild的中文輸出了。
具體操作步驟:在GitLab Runner的配置檔案config.toml
中,在runners
中的pre_clone_script
和pre_build_script
屬性內新增語句chcp 65001
。示例配置檔案如下:
...
[[runners]]
executeer = "shell"
shell = "powershell"
pre_clone_script = "chcp 65001"
pre_build_script = "chcp 65001"
...
類似的方法應該可以也解決其他的日誌收集器在中文作業系統上出現亂碼的問題。但是,在系統預設命令列視窗中,若使用UTF-8編碼,則文字輸入等可能存在一定的問題,不建議在正常使用命令列時使用UTF-8編碼。