使用JavaScript(UTF-8)将神秘字符串转换为可读字符串

时间:2014-05-28 23:07:09

标签: javascript utf-8 makefile readable

我发现当我将这个扭曲的字符串(“ÔuÃererungenüben“)保存为ANSI文本文件时,然后用Firefox打开它并在Firefox菜单中选择”Unicode“,它把它变成可读的德语格式(“Äußerungenüben”)。

使用我的文本编辑器(Notepad ++)可以实现同样的目的。

有没有办法用JavaScript实现这一目标?例如。以下会很好:

var output = makeReadable("Äußerungen üben");

不幸的是,我从一个不关心UTF-8的外部源获得这种扭曲的字符串,并将所有数据都提供为ANSI。

PS:将文件保存为UTF-8并在META标记中将字符集设置为UTF-8无效。

修改

现在我通过列出所有常见的UTF8 / ANSI失真(超过1300)来解决它,并编写了一个用正确的字符替换所有错误字符组合的函数。它工作正常:-)。

1 个答案:

答案 0 :(得分:0)

我认为你的问题中“扭曲字符串”的编码通过在此处发布而得到进一步发展。但谷歌快速搜索“jf 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;