我正在尝试将以 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 代码。