JavaScript 强制 UTF-8 编码
JavaScript force UTF-8 encoding
我找到这篇文章: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 的字幕有同样的问题,请阅读 。 否则,所选答案是正确的。
谢谢
正如您所说,它不是以 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();
我给 OpenSubtitles 的网站管理员发了一封电子邮件,他的回复是将我定向到他 4 天前的一篇帖子:
http://forum.opensubtitles.org/viewtopic.php?f=1&t=14992&p=30697#p30697
现在您可以请求任何您想要的任何编码的字幕,服务器将使用 iconv()
对其进行编码。这不是 100%,因为 iconv()
也可能会失败,但这是最好的情况。
所以这个 link:
http://dl.opensubtitles.org/en/download/filead/src-api/vrf-bfafe1c11f/sid-85k8neb5gpmo3npqoog00t6c64/1954590765.srt
现在变成:
http://dl.opensubtitles.org/en/download/subencoding-utf8/file/1954590765
您会收到一个以 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 的字幕有同样的问题,请阅读
谢谢
正如您所说,它不是以 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();
我给 OpenSubtitles 的网站管理员发了一封电子邮件,他的回复是将我定向到他 4 天前的一篇帖子:
http://forum.opensubtitles.org/viewtopic.php?f=1&t=14992&p=30697#p30697
现在您可以请求任何您想要的任何编码的字幕,服务器将使用 iconv()
对其进行编码。这不是 100%,因为 iconv()
也可能会失败,但这是最好的情况。
所以这个 link:
http://dl.opensubtitles.org/en/download/filead/src-api/vrf-bfafe1c11f/sid-85k8neb5gpmo3npqoog00t6c64/1954590765.srt
现在变成:
http://dl.opensubtitles.org/en/download/subencoding-utf8/file/1954590765
您会收到一个以 UTF-8 编码的字幕文件。