如何将多个 UTF-8-BOM 编码的文件转换为 ANSI?

如何将多个 UTF-8-BOM 编码的文件转换为 ANSI?

我正在尝试将以 UTF-8-BOM 编码的多个文件转换回 ANSI。

我发现使用 Powershell 使用此命令:

PS> get-item c:\temp\utf8\*.* | foreach-object {get-content -Encoding utf8BOM $_ | out-file ("c:\temp\ansi\" + $_.Name) -encoding default}

它可以工作,但问题是它不支持 ISO-8859-2。

ă或等字符â显示正确,但ţ或等字符ş显示为问号。

我希望两种情况下的输出都是正确的。如果 Powershell 不是解决方案,你们还有什么建议?

答案1

如果您有以 UTF-8-BOM 编码但未包含在 ANSI 中的字母,则转换将失败。您是否知道 ANSI 代码适合一个字节,而 UTF-8 最多可以使用四个字节?

2021.3.1 0:11 梅兹:

只有当使用的 UTF8 中的字母是 ANSI 的一部分时,您才能从 UTF-8 转换为 ANSI。请看这里:“中立的象棋王” https://www.utf8-zeichentabelle.de/unicode-utf8-table.pl

此 UTF 字母没有 ANSI 代码。

相关内容