我创建了powershell脚本,以便在TeamCity的一个步骤中读取文件。 如果我在Powershell应用程序中读取该文件并放入下一个脚本,它可以正常工作,但是当在执行内部类型“PowerShell”的步骤中执行时,编码不起作用且某些字符没有编码(如“áãéé”等等) )
$userDocuments = [environment]::getfolderpath("mydocuments")
$file= "myfile.txt"
$fullPath = Join-Path $userDocuments -ChildPath $file
Get-Content -Encoding UTF8 $fullPath
有人帮我吗?
提前致谢
答案 0 :(得分:2)
需要进行一些配置更改,以告知TeamCity以UTF-8的形式处理输出您是否可以在处理输出
标题下阅读HERE要正确处理PowerShell的非ASCII输出,必须在PowerShell端和TeamCity端设置正确的编码。
要将PowerShell的输出编码设置为UTF-8,请将以下行添加到PowerShell脚本的开头:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
要在TeamCity代理端设置编码,请设置java启动选项
-Dfile.encoding=UTF-8
,或将构建配置参数teamcity.runner.commandline.stdstreams.encoding
值设置为UTF-8