濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何解決遠(yuǎn)程頁面抓取中的亂碼問題

如何解決遠(yuǎn)程頁面抓取中的亂碼問題

熱門標(biāo)簽:澳大利亞城市地圖標(biāo)注 遼寧銀行智能外呼系統(tǒng) 遼寧正規(guī)電銷機(jī)器人 海南銀行智能外呼系統(tǒng)商家 辰溪地圖標(biāo)注 姜堰電銷機(jī)器人 上海浦東騰訊地圖標(biāo)注位置 電銷機(jī)器人違法了嗎 許昌智能電銷機(jī)器人公司

由于平時(shí)使用的網(wǎng)頁文件基本上都是gb2312編碼方式,如果通過xmlhttp控件讀取的話,肯定會出現(xiàn)亂碼問題,但是要把所有文件都改成utf-8編碼,操作上比較麻煩。經(jīng)過反復(fù)比較,我找到了相對實(shí)用的解決方法。

  ff提供了overrideMimeType方法,可以指定返回值的編碼,所以解決起來比較簡單,只要把這個(gè)方法指向gb2312就可以了。對于IE,可以用vbs配合來作編碼轉(zhuǎn)換,用gb2utf8來轉(zhuǎn)換接收到的二進(jìn)制數(shù)據(jù),其中利用到execScript方法來調(diào)用vbs的函數(shù)。

復(fù)制代碼 代碼如下:

body>/body>
script>
loadPage("index.htm")
function loadPage(url){
    var xh=window.Event?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP")
    xh.open("GET",url,true)
    if(window.Event)
        xh.overrideMimeType("text/xml;charset=gb2312")
    xh.onreadystatechange=function(){
        if(xh.readyState!=4)
            return
        var v
        v=window.Event?xh.responseText:window.gb2utf8(xh.responseBody)
        alert(v)
    }
    window.gb2utf8=function(data){
        var glbEncode=[],t,i,j,len
        gb2utf8_data=data
        execScript("gb2utf8_data = MidB(gb2utf8_data, 1)+' '", "vbscript")
        t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2")
        t=t.split("@")
        i=0
        len=t.length
        while(++ilen){
            j=t[i].substring(0,4)
            if(!glbEncode[j]) {
                gb2utf8_char = eval("0x"+j)
                execScript("gb2utf8_char=Chr(gb2utf8_char)","vbscript")
                glbEncode[j]=escape(gb2utf8_char).substring(1,6)
            }
            t[i]=glbEncode[j]+t[i].substring(4)
        }
        gb2utf8_data=gb2utf8_char=null
        return unescape(t.join("%")).slice(0,-1)
    }
    xh.send(null)
}
/script>

您可能感興趣的文章:
  • ajax 亂碼的一種解決方法
  • Ajax request response 亂碼解決方法
  • 一句話解決AJAX中文亂碼問題[推薦]
  • xmlhttp 亂碼 比較完整的解決方法 (UTF8,GB2312 編碼 解碼)
  • AJAX亂碼解決新方法
  • ajax+php中文亂碼解決辦法
  • AJAX在Post中文的時(shí)候亂碼的解決方法
  • Ajax亂碼問題整理
  • ajax以及一些亂碼問題

標(biāo)簽:崇左 晉城 撫州 威海 銅川 西藏 深圳 伊春

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何解決遠(yuǎn)程頁面抓取中的亂碼問題》,本文關(guān)鍵詞  如何,解決,遠(yuǎn)程,頁面,抓取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何解決遠(yuǎn)程頁面抓取中的亂碼問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何解決遠(yuǎn)程頁面抓取中的亂碼問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    铁力市| 灵丘县| 大庆市| 依兰县| 绵竹市| 岳阳市| 平遥县| 邮箱| 江油市| 郓城县| 镇原县| 涿州市| 临颍县| 汶川县| 永胜县| 固阳县| 兰西县| 连城县| 仙桃市| 三亚市| 张掖市| 泰来县| 明水县| 巴林左旗| 靖宇县| 方城县| 大宁县| 育儿| 自治县| 金溪县| 通辽市| 易门县| 昌都县| 华蓥市| 高邮市| 霸州市| 偃师市| 张家川| 张家口市| 颍上县| 四川省|