最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何解決遠程頁面抓取中的亂碼問題

 更新時間:2006年12月22日 00:00:00   作者:  

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

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

復制代碼 代碼如下:

<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(++i<len){
            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>

相關(guān)文章

  • Ajax request response 亂碼解決方法

    Ajax request response 亂碼解決方法

    今天最早遇到一個脫離平臺,單獨給用戶定制開發(fā)的關(guān)于狀態(tài)管理的功能局部刷新出現(xiàn)亂碼的情況,仔細查了下代碼發(fā)現(xiàn)并無特殊之處,charset統(tǒng)一使用GB18030,ajax傳遞參數(shù)使用默認UTF-8,對傳遞的中文信息手動轉(zhuǎn)碼。
    2009-05-05
  • springmvc 結(jié)合ajax批量新增的實現(xiàn)方法

    springmvc 結(jié)合ajax批量新增的實現(xiàn)方法

    這篇文章主要介紹了springmvc 結(jié)合ajax批量新增的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • ajax編寫簡單的登錄頁面

    ajax編寫簡單的登錄頁面

    這篇文章主要為大家詳細介紹了ajax編寫簡單登錄頁面的具體代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • ajax動態(tài)查詢數(shù)據(jù)庫數(shù)據(jù)并顯示在前臺的方法

    ajax動態(tài)查詢數(shù)據(jù)庫數(shù)據(jù)并顯示在前臺的方法

    今天小編就為大家分享一篇ajax動態(tài)查詢數(shù)據(jù)庫數(shù)據(jù)并顯示在前臺的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 談談你對aja的理解(一、二)

    談談你對aja的理解(一、二)

    Ajax是Asynchronous Javascript And XML的縮寫,其作用通過Ajax可以使用Javascript語句來調(diào)用XMLHttpRequest對象,直接與服務器進行通訊,可以在不重載頁面的情況下與服務器交換數(shù)據(jù)。
    2015-10-10
  • Ajax傳輸中文亂碼問題的解決辦法

    Ajax傳輸中文亂碼問題的解決辦法

    這篇文章主要介紹了Ajax傳輸中文亂碼問題的解決辦法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • ajax實現(xiàn)登錄功能

    ajax實現(xiàn)登錄功能

    本文主要介紹了ajax實現(xiàn)登錄功能的示例代碼。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • Ajax異步提交數(shù)據(jù)返回值的換行問題實例分析

    Ajax異步提交數(shù)據(jù)返回值的換行問題實例分析

    這篇文章主要介紹了Ajax異步提交數(shù)據(jù)返回值的換行問題,結(jié)合實例形式較為詳細的分析了ajax異步提交過程中返回值帶有換行的處理技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-12-12
  • 看圖理解 普通交互方式和Ajax交互方式區(qū)別

    看圖理解 普通交互方式和Ajax交互方式區(qū)別

    看圖理解 普通交互方式和Ajax交互方式區(qū)別,需要的朋友可以參考下。
    2011-11-11
  • Ajax 生成流文件下載(實現(xiàn)代碼)

    Ajax 生成流文件下載(實現(xiàn)代碼)

    使用Ajax生成流文件下載的功能,可以使用隱藏form的方式。需要的朋友可以參考下
    2013-07-07

最新評論

毕节市| 苏尼特右旗| 肥乡县| 龙陵县| 铁岭市| 枞阳县| 苏州市| 颍上县| 开化县| 光泽县| 沿河| 思南县| 安福县| 盱眙县| 麦盖提县| 砚山县| 广丰县| 和静县| 沂水县| 镶黄旗| 广州市| 凤台县| 景宁| 津市市| 玉门市| 白城市| 伽师县| 临清市| 左贡县| 敖汉旗| 漳平市| 郴州市| 佛山市| 广南县| 涟源市| 海南省| 尼木县| 广平县| 建阳市| 和顺县| 西藏|