TeamCity记录UTF8 - Powershell脚本

时间:2017-01-05 18:01:52

标签: powershell encoding teamcity readfile

我创建了powershell脚本,以便在TeamCity的一个步骤中读取文件。 如果我在Powershell应用程序中读取该文件并放入下一个脚本,它可以正常工作,但是当在执行内部类型“PowerShell”的步骤中执行时,编码不起作用且某些字符没有编码(如“áãéé”等等) )

$userDocuments = [environment]::getfolderpath("mydocuments")
$file= "myfile.txt"
$fullPath = Join-Path $userDocuments -ChildPath $file
Get-Content -Encoding UTF8 $fullPath

有人帮我吗?

提前致谢

1 个答案:

答案 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