将 Unicode 更改为 UTF-8 | PowerShell脚本

Change Unicode to UTF-8 | PowerShell script

当我在 PowerShell 脚本中使用 Write-Host 时,输出如下所示:?????? ??????.

发生这种情况是因为我使用 Write-Host 输入阿拉伯语字符串,而 PowerShell 似乎不支持阿拉伯语...

如何使用 Write-Host 打印文本,但使用 unicode UTF-8(支持阿拉伯语)。

示例:Write-Host "مرحباً بالعالم" 这种情况下的输出将是:?????? ??????

有什么解决办法吗?

固定

您需要设置支持这些字符的字体。喜欢Cascadia Code PL

注意:非 PL 版本不起作用,所以获取 PL 版本。

您可能还必须设置控制台编码。除非你真的需要不同的编码,否则默认为 utf8 是个好主意。

$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()

之前

我实际上并不需要 wt 这里,我会建议它。 windowsterminal 是一个现代术语,现在是 inbox 应用程序。这意味着它在 windows 以后是默认的。

utf8 不适用于 wt 支持的术语(均使用 cascadia code pl 字体