我正在開發一個firefox插件,並提取網頁爲用戶做一些分析。問題是,當我嘗試獲取(XMLHttpRequest)不是utf-8編碼的頁面時,我看到的字符串被搞亂了。例如希伯來語頁面使用windows-1125或中文頁面使用gb2312。使用Javascript將ISO/Windows字符集轉換爲UTF-8
我已經試過如下:
var uDecoder=Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].getService(Components.interfaces.nsIScriptableUnicodeConverter);
uDecoder.charset="windows-1255";
alert(xhr.responseText);
var decoder=Components.classes["@mozilla.org/intl/utf8converterservice;1"].getService(Components.interfaces.nsIUTF8ConverterService);
alert(decoder.convertStringToUTF8(xhr.responseText,"WINDOWS-1255",true));
我也試過escape/unescape/encodeURIComponent
任何想法?
感謝 - 工作... 我想你是寫我將不得不兩次取非UTF - 8頁... – Amir 2010-04-20 11:49:41
增加了一些想法,以避免第二次取...不是很好的想法,但可能可行。 – bobince 2010-04-20 11:51:03