0

我发现当我将这个扭曲的字符串(“ Ä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 个)来解决它,并编写了一个函数,用正确的字符替换所有错误的字符组合。它工作正常:-)。

4

1 回答 1

0

我认为您的问题中“扭曲的字符串”的编码通过在此处发布得到了进一步的处理。但是在 Google 上快速搜索“javascript convert from utf-8”会返回这篇博文作为热门文章: http ://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html

所以事实证明,在 JavaScript 中编码和解码 UTF-8 真的很容易。这对我很有用:

var original = "Äußerungen üben";
var utf8 = unescape(encodeURIComponent(original));
//return utf8; // something like "ÃuÃerungen üben"
var output = decodeURIComponent(escape(utf8));
return output;
于 2014-05-28T23:15:59.323 回答