在运行和运行选择之间使用 PowerShell 的 Visual Studio Code 集成终端中的错误变音符号字母

黑狮

我有带有 Windows-1250 编码的 Windows 10,但在带有集成终端的 Visual Studio Code 中,我有变音符号的问题:

在此处输入图片说明

如您所见,同一命令的运行和运行选择之间的编码不同:write-host "Wspólny"我的 JSON 用户配置为空,我已经尝试了几个小时,但没有解决方案有帮助。我到处都想要UTF-8。

克莱门特0

最可能的解释:

  • 您正在运行Windows PowerShell,它根据系统的活动 ANSI 代码页(1250在您的示例中)读取其源代码

  • 相比之下,Visual Studio Code默认创建无BOM 的 UTF-8编码文件。

  • 如果源代码文件(或 Windows PowerShell 读取的任何文本文件,例如使用Get-Content)中没有 BOM,则假定ANSI编码,因此 UTF-8 文件被错误解释

    • 具体来说,任何非 ASCII 字符的每个单独字节(在 UTF-8 中始终编码为多字节序列)然后被解释为 ANSI 字符。

    • 注意:这在 PowerShell (Core) 7+ 中不再是问题,它始终默认为 UTF-8,无论是在读取无 BOM 文件时还是在写入文件时(无 BOM UTF-8)。

因此,解决方案是将您的源代码(或您希望 Windows PowerShell 正确读取的任何 UTF-8 文件)保存带有 BOM 的UTF-8

您还需要为要在两个版本的 PowerShell 中正常运行的源代码执行此操作

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章