默认情况下,当您将命令的输出重定向到文件或将其通过管道传递到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?
3 回答
四季花海
TA贡献1811条经验 获得超5个赞
可能是PetSerAl向我指出了这一点,但我不记得在哪里以及如何做。Windows PowerShell是封闭源代码,但是由于相同的准别名关系也适用于PowerShell Core,因此您应该能够在后者的源代码中找到它。
添加回答
举报
0/150
提交
取消