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

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

 更新時(shí)間:2006年12月22日 00:00:00   作者:  

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

  ff提供了overrideMimeType方法,可以指定返回值的編碼,所以解決起來(lái)比較簡(jiǎn)單,只要把這個(gè)方法指向gb2312就可以了。對(duì)于IE,可以用vbs配合來(lái)作編碼轉(zhuǎn)換,用gb2utf8來(lái)轉(zhuǎn)換接收到的二進(jìn)制數(shù)據(jù),其中利用到execScript方法來(lái)調(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(++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 亂碼解決方法

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

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

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

    ajax編寫簡(jiǎn)單的登錄頁(yè)面

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

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

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

    談?wù)勀銓?duì)aja的理解(一、二)

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

日照市| 江门市| 宝鸡市| 金阳县| 城固县| 库车县| 石泉县| 万盛区| 英山县| 盘锦市| 彭州市| 额敏县| 台北县| 禹州市| 南昌市| 贵定县| 辛集市| 东阿县| 青海省| 衡山县| 金华市| 施甸县| 思南县| 商南县| 金沙县| 西林县| 长武县| 呼伦贝尔市| 炉霍县| 达州市| 武安市| 翼城县| 南靖县| 龙州县| 芒康县| 会泽县| 师宗县| 郯城县| 阳谷县| 公主岭市| 丰台区|