将PowerShell的默认输出编码更改为UTF-8

默认情况下,当您将命令的输出重定向到文件或将其通过管道传递到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?


明月笑刀无情
浏览 6784回答 3
3回答

四季花海

可能是PetSerAl向我指出了这一点,但我不记得在哪里以及如何做。Windows PowerShell是封闭源代码,但是由于相同的准别名关系也适用于PowerShell Core,因此您应该能够在后者的源代码中找到它。 
打开App,查看更多内容
随时随地看视频慕课网APP