最佳答案
默认情况下,当您将命令的输出重定向到一个文件或将其导入 PowerShell 的其他文件时,编码是 UTF-16,这是没有用的。我想把它改成 UTF-8。
通过用 | out-file foo.txt -encoding utf8
替换 >foo.txt
语法,可以逐个地完成这项工作,但是每次都必须重复这项工作是很麻烦的。
在 PowerShell 中设置内容的持久方法是将它们放在 \Users\me\Documents\WindowsPowerShell\profile.ps1
中; 我已经验证了这个文件确实在启动时执行。
据说可以用 $PSDefaultParameterValues = @{'Out-File:Encoding' = 'utf8'}
设置输出编码,但我试过了,没有效果。
Https://blogs.msdn.microsoft.com/powershell/2006/12/11/outputencoding-to-the-rescue/ 谈论的是 $OutputEncoding
,乍一看似乎它应该是相关的,但接下来它谈论的是用 ASCII 编码的输出,这并不是实际发生的情况。
如何将 PowerShell 设置为使用 UTF-8?