JavaScript 强制 UTF-8 编码

标签 javascript encoding utf-8

我找到这篇文章:http://ecmanaut.blogspot.ro/2006/07/encoding-decoding-utf8-in-javascript.html

还有许多其他人推荐了这种方法。但 unescape(encodeURIComponent(srt)) 似乎对我不起作用。我正在尝试转换使用 XMLHttpRequest 获得的文件的内容。

使用unescape(encodeURIComponent(srt))之前,unicode字符显示为“?”,转换后,所有unicode字符显示为“�”。所以我假设转换失败。

文件本身是用 ANSI 编码的。

这是 fiddle :http://jsfiddle.net/9g6zkmof/1/

我需要它在纯 JavaScript 中工作。

如果您对 OpenSubtitles 的字幕有同样的问题,请阅读 this answer .否则,所选答案就是正确的。

谢谢

最佳答案

正如您所说,它不是以 UTF-8 编码的:

var path = 'http://dl.opensubtitles.org/en/download/filead/src-api/vrf-bfafe1c11f/sid-85k8neb5gpmo3npqoog00t6c64/1954590765.srt'
var xhr = new XMLHttpRequest();
xhr.open("GET", path, false);
xhr.overrideMimeType('text/plain; charset=iso-8859-1');
xhr.send();

<强> FIDDLE

关于JavaScript 强制 UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28293926/

相关文章:

javascript - 显示给定半径内数据库中的所有位置

javascript - 如何在 JavaScript 中将字符串中的字母和数字分开

python - 在 Python 2.7 中,Unicode 文本表示为 u'xxxx 而不是日语

python - 无法导入 category_encoders 模块

php - PHP 的 json_encode 中的西里尔字符

python - Django 问题 : UnicodeEncodeError

javascript - 在 Javascript 中子类化 Uint8Array

javascript - 选择框高度在 chrome 中不起作用

c++ - ISO-10646 XFont 编码问题

mysql - SQL查询多表