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 字符都显示为"ï¿1/2"。所以我假设转换失败了。
文件本身使用 ANSI 进行编码。
这是小提琴:http://jsfiddle.net/9g6zkmof/1/
我需要它在纯 JavaScript 中工作。
如果您对Open字幕的字幕有同样的问题,请阅读此答案。否则,所选答案是正确的。
谢谢
正如你所说,它不是用 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()
也可能失败,但这是最好的情况。
所以这个链接:
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 编码的字幕文件。
小提琴
- 可以't导入更少的UTF-8 BOM编码的文件
- 使用javascript中的UTF-8编码生成友好的url
- JavaScript 强制使用 UTF-8 编码
- angular.js $http.了解如何强制使用 UTF-8 编码
- JavaScript utf-8 编码问题
- 如何使用 PHP 将 utf-8 编码的 json 保存到.txt文件中
- 让JettyRunner使用UTF-8编码提供静态内容(如CSS和JavaScript)
- 通过js API消息发布BASE64图像和消息不是UTF-8编码的
- JavaScript到c# UTF-8编码问题
- AngularJS的ng-view不会向嵌套页面传递utf-8编码
- sencha Cmd中sencha应用程序构建后丢失UTF-8编码
- 如何在express中处理非UTF-8编码的url
- nodejs UTF-8编码字符串有黑色问号
- 可以在页面标题中使用UTF-8编码字符吗?
- 将UTF-8编码的JSON从DB解析为JS
- 如何使用UTF-8编码数据执行融合表请求
- Ajax:强制utf-8编码
- 我们可以用javascript将ANSI编码的CSV文件转换为utf-8编码的文件
- 如何在JS和PHP之间传递UTF-8编码的字符串
- Javascript FileReader readAsText函数不理解utf-8编码字符,如ä和& # 2