默认情况下,当您将命令的输出重定向到文件或将其通过管道传递到PowerShell中的其他内容时,编码为UTF-16,这没有用。我希望将其更改为UTF-8。
可以根据具体情况通过将>foo.txt语法替换为来完成| out-file foo.txt -encoding utf8此操作,但这很麻烦每次都要重复。
在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?
四季花海