我发现当我将这个扭曲的字符串(“ Äußerungen üben ”)保存为 ANSI 文本文件,然后用 Firefox 打开它并在 Firefox 菜单中选择“Unicode”时,它会将其转换为可读的德语格式(“ Äußerungen üben ”)。
我的文本编辑器(Notepad++)也可以做到这一点。
有什么方法可以用 JavaScript 实现这一点吗?例如,以下内容会很好:
var output = makeReadable("Äußerungen üben");
不幸的是,我从不关心 UTF-8 并将所有数据提供为 ANSI 的外部源获得了这种扭曲的字符串。
PS:将文件保存为 UTF-8 并在 META Tag 中将 charset 设置为 UTF-8 无效。
编辑:
现在我通过列出所有常见的 UTF8/ANSI 失真(超过 1300 个)来解决它,并编写了一个函数,用正确的字符替换所有错误的字符组合。它工作正常:-)。