婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > xmlhttp 亂碼 比較完整的解決方法 (UTF8,GB2312 編碼 解碼)

xmlhttp 亂碼 比較完整的解決方法 (UTF8,GB2312 編碼 解碼)

熱門標(biāo)簽:許昌智能電銷機(jī)器人公司 姜堰電銷機(jī)器人 澳大利亞城市地圖標(biāo)注 上海浦東騰訊地圖標(biāo)注位置 遼寧正規(guī)電銷機(jī)器人 遼寧銀行智能外呼系統(tǒng) 海南銀行智能外呼系統(tǒng)商家 電銷機(jī)器人違法了嗎 辰溪地圖標(biāo)注
用XMLHTTP Post Form時(shí)的表單亂碼有兩方面的原因——Post表單數(shù)據(jù)時(shí)中文亂碼;服務(wù)器Response被XMLHTTP不正確編碼引起的亂碼。換句話說(shuō),本文主要解決兩個(gè)問(wèn)題——怎樣正確Post中文內(nèi)容怎樣正確顯示得到的中文內(nèi)容。

Part I Post中文內(nèi)容

先看看E文的表單是怎么提交的:
復(fù)制代碼 代碼如下:

SCRIPT language="JavaScript"> 
strA = "submit1=Submittext1=scsdfsd"; 
var oReq = new ActiveXObject("MSXML2.XMLHTTP"); 
oReq.open("POST","http://ServerName/VDir/TstResult.asp",false); 
oReq.setRequestHeader("Content-Length",strA.length);   
oReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"); 
oReq.send(strA); 
/SCRIPT> 

如果把strA = "submit1=Submittext1=scsdfsd";換成:
strA = "submit1=Submittext1=中文";

你會(huì)發(fā)現(xiàn)提交上去的東東根本不對(duì),ASP中Request.Form("Text1")根本取不到值。俺用Request.BinaryRead把一個(gè)HTML Form中的Post內(nèi)容寫出來(lái)看了看,才發(fā)現(xiàn)問(wèn)題——Form提交時(shí)也要編碼的,編碼后的中文是類似于%??%??的轉(zhuǎn)義字符,比如“中文”就被編碼為:%D6%D0%CE%C4。呵呵,也怪俺笨,人家CONTENT-TYPE里明明寫的清清楚楚——application/x-www-form-urlencoded,urlencoded嘛當(dāng)然就是這個(gè)樣子了。既然這樣,那我們也知道該怎么辦了——自己做轉(zhuǎn)換,代碼見下:
復(fù)制代碼 代碼如下:

SCRIPT language="VBScript"> 
Function URLEncoding(vstrIn) 
    strReturn = "" 
    For i = 1 To Len(vstrIn) 
        ThisChr = Mid(vStrIn,i,1) 
        If Abs(Asc(ThisChr))  HFF Then 
            strReturn = strReturn  ThisChr 
        Else 
            innerCode = Asc(ThisChr) 
            If innerCode  0 Then 
                innerCode = innerCode + H10000 
            End If 
            Hight8 = (innerCode  And HFF00)\&;HFF 
            Low8 = innerCode And HFF 
            strReturn = strReturn  "%"  Hex(Hight8)   "%"  Hex(Low8) 
        End If 
    Next 
    URLEncoding = strReturn 
End Function 

strA = URLEncoding("submit1=Submittext1=中文") 
oReq = CreateObject("MSXML2.XMLHTTP") 
oReq.open "POST","http://ServerName/VDir/TstResult.asp",false 
oReq.setRequestHeader "Content-Length",Len(strA) 
oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded" 
oReq.send strA 
/ScRIPT> 

(在這里俺把前面的JavaScript的代碼改成了VBScript,不是吃飽了撐的沒(méi)事干,原因見后)

Part II.正確顯示得到的中文內(nèi)容

OK,如果你在Server端把Form的內(nèi)容寫到數(shù)據(jù)庫(kù)/文件的話,你在那里看到的中文毫無(wú)問(wèn)題,但是,假如你想看看Server的Response——問(wèn)題來(lái)了:如果Response的結(jié)果不是XML,XMLHTTP.responseXML里當(dāng)然是不會(huì)有東東的,那就用responseText好了,在代碼的最后加一句:

alert(oReq.responseText)
看看俺們辛勤勞動(dòng)的結(jié)果  

但是但是.....怎么所有的中文全變成了方格? (我打不出來(lái),有興趣自己去試,也不用Post,Get一個(gè)含有中文的網(wǎng)頁(yè)就可以發(fā)現(xiàn)了。)

原因很簡(jiǎn)單:XMLHTTP得到Response時(shí)假定Response是UTF8編碼的,如果Response是XML,那還可以通過(guò)encoding來(lái)指定編碼,但HTML就不行了。(見鬼的GB2312,再次打倒!)所以它把含GB2312編碼的HTML當(dāng)成UTF8格式,不出錯(cuò)才有鬼!

不過(guò)好在還有補(bǔ)救的辦法:XMLHTTP的responseBody 屬性里包含的可是未解碼的Resonse——"a raw undecoded bytes as received directly from the server" :),唯一的問(wèn)題是,responseBody返回的是一個(gè)unsigned bytes數(shù)組,我們?cè)趺慈ピL問(wèn)它,怎么把它轉(zhuǎn)換成BSTR?

這就是為什么我在上面把代碼改成VBScript的原因——VBScript Can do it,but JavaScript Cannot!

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

SCRIPT language="VBScript"> 
Function URLEncoding(vstrIn) 
    strReturn = "" 
    For i = 1 To Len(vstrIn) 
        ThisChr = Mid(vStrIn,i,1) 
        If Abs(Asc(ThisChr))  HFF Then 
            strReturn = strReturn  ThisChr 
        Else 
            innerCode = Asc(ThisChr) 
            If innerCode  0 Then 
                innerCode = innerCode + H10000 
            End If 
            Hight8 = (innerCode  And HFF00)\&;HFF 
            Low8 = innerCode And HFF 
            strReturn = strReturn  "%"  Hex(Hight8)   "%"  Hex(Low8) 
        End If 
    Next 
    URLEncoding = strReturn 
End Function 

Function bytes2BSTR(vIn) 
    strReturn = "" 
    For i = 1 To LenB(vIn) 
        ThisCharCode = AscB(MidB(vIn,i,1)) 
        If ThisCharCode  H80 Then 
            strReturn = strReturn  Chr(ThisCharCode) 
        Else 
            NextCharCode = AscB(MidB(vIn,i+1,1)) 
            strReturn = strReturn  Chr(CLng(ThisCharCode) * H100 + CInt(NextCharCode)) 
            i = i + 1 
        End If 
    Next 
    bytes2BSTR = strReturn 
End Function 

strA = URLEncoding("submit1=Submittext1=中文") 
oReq = CreateObject("MSXML2.XMLHTTP") 
oReq.open "POST","http://ServerName/VDir/TstResult.asp",false 
oReq.setRequestHeader "Content-Length",Len(strA) 
oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded" 
oReq.send strA 
alert bytes2BSTR(oReq.responseBody) 
/SSRIPT>
您可能感興趣的文章:
  • Java在web頁(yè)面上的編碼解碼處理及中文URL亂碼解決
  • escape編碼與unescape解碼漢字出現(xiàn)亂碼的解決方法
  • PHP base64編碼后解碼亂碼的解決辦法
  • XMLHTTP 亂碼的解決方法(UTF8,GB2312 編碼 解碼)
  • 淺談編碼,解碼,亂碼的問(wèn)題

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《xmlhttp 亂碼 比較完整的解決方法 (UTF8,GB2312 編碼 解碼)》,本文關(guān)鍵詞  xmlhttp,亂碼,比較,完整,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《xmlhttp 亂碼 比較完整的解決方法 (UTF8,GB2312 編碼 解碼)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于xmlhttp 亂碼 比較完整的解決方法 (UTF8,GB2312 編碼 解碼)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产成人在线视频网站| 在线不卡欧美精品一区二区三区| 色综合久久天天| 欧美成人一区二区三区片免费| 国产精品久久久久精k8| 精品一区二区久久久| 欧美日韩国产一级| 国产精品国产馆在线真实露脸| 另类小说图片综合网| 欧美日韩三级一区| 亚洲欧美一区二区三区极速播放 | 91久久精品网| 国产精品久久久久影视| 国产在线看一区| 欧美一区二区在线免费观看| 一区二区三区欧美日| 99久久婷婷国产综合精品| 国产欧美日产一区| 国产一区二区三区综合| 日韩欧美www| 日本成人在线一区| 91精品国产综合久久精品图片| 一区二区在线免费观看| 91老司机福利 在线| 国产精品亲子伦对白| 不卡的电影网站| 国产精品动漫网站| 91免费看视频| 亚洲一区二区美女| 精品视频一区三区九区| 亚洲成人免费视频| 欧美美女bb生活片| 秋霞影院一区二区| 日韩女优制服丝袜电影| 裸体一区二区三区| 亚洲精品在线观看网站| 国产精品538一区二区在线| 欧美激情一区三区| 91免费在线看| 亚洲一区二区av在线| 欧美乱熟臀69xxxxxx| 麻豆精品久久久| 久久精品人人爽人人爽| 成人激情校园春色| 亚洲线精品一区二区三区| 制服丝袜国产精品| 国产精品亚洲一区二区三区在线| 国产精品欧美一区二区三区| 91色婷婷久久久久合中文| 亚洲高清久久久| 精品国产免费视频| av亚洲精华国产精华精| 亚洲妇女屁股眼交7| 欧美成人性战久久| 成人短视频下载| 亚洲国产视频a| 久久久.com| 欧美自拍丝袜亚洲| 激情六月婷婷综合| 亚洲精品综合在线| 精品国产一区二区精华| 成人午夜又粗又硬又大| 婷婷综合另类小说色区| 国产午夜三级一区二区三| 欧美性xxxxxxxx| 国产一区二区精品久久99| 亚洲欧美日韩综合aⅴ视频| 日韩一级成人av| 91天堂素人约啪| 九九精品视频在线看| 亚洲精品欧美激情| 国产亚洲成aⅴ人片在线观看 | 久久久久久99久久久精品网站| 99国产麻豆精品| 激情久久五月天| 香蕉久久夜色精品国产使用方法 | 精品国产1区二区| 日本精品一级二级| 国产盗摄一区二区| 日本午夜精品视频在线观看| 国产精品素人一区二区| 精品欧美一区二区久久| 欧美日韩夫妻久久| 91最新地址在线播放| 国产成人免费在线视频| 蜜臀久久99精品久久久久宅男| 一区二区在线免费观看| 国产精品成人一区二区艾草| 精品成a人在线观看| 91精品久久久久久久99蜜桃| 欧美日韩中文精品| 一本到一区二区三区| 成人h动漫精品| 国产精品一二三| 国产一区二区三区四区五区美女| 日韩av不卡在线观看| 亚洲国产中文字幕在线视频综合 | 韩国女主播一区二区三区| 午夜久久久影院| 亚洲1区2区3区4区| 一二三区精品视频| 亚洲精品va在线观看| 亚洲精品久久久蜜桃| 亚洲图片另类小说| 国产精品久久久99| 自拍偷拍亚洲激情| 亚洲人午夜精品天堂一二香蕉| 国产精品免费视频一区| 欧美—级在线免费片| 欧美激情一区二区三区蜜桃视频 | 丝袜a∨在线一区二区三区不卡| 亚洲日本在线天堂| 一区二区三区在线免费| 一区二区三区四区高清精品免费观看| 亚洲色图都市小说| 亚洲激情欧美激情| 五月婷婷激情综合网| 亚洲成人手机在线| 免费观看30秒视频久久| 久久99精品视频| 国产精品一二三四五| 粉嫩绯色av一区二区在线观看 | 亚洲色图制服丝袜| 亚洲色图在线播放| 亚洲一区二区美女| 久久99精品视频| 成人午夜精品在线| 欧美性高清videossexo| 91麻豆精品91久久久久久清纯 | 国产午夜精品久久久久久久| 亚洲国产精品ⅴa在线观看| 国产精品久久久99| 亚洲第一主播视频| 黄色精品一二区| 97精品国产97久久久久久久久久久久| 精品污污网站免费看| 精品少妇一区二区三区在线视频| 国产亚洲视频系列| 一区二区成人在线视频| 精品一区二区久久| 色成人在线视频| 精品国产3级a| 亚洲免费伊人电影| 免费人成精品欧美精品| 99这里都是精品| 日韩一级片网站| 18欧美乱大交hd1984| 日产国产高清一区二区三区| 丁香五精品蜜臀久久久久99网站| 色婷婷av一区二区三区软件| 欧美成人午夜电影| 亚洲激情在线激情| 国产精品18久久久久久久久 | 国产麻豆日韩欧美久久| 色天天综合久久久久综合片| 欧美不卡激情三级在线观看| 亚洲美女视频一区| 精品一区二区三区影院在线午夜| 在线国产电影不卡| 国产精品九色蝌蚪自拍| 久久97超碰国产精品超碰| 日本乱人伦一区| 中文字幕欧美激情| 免费成人在线观看视频| 欧美亚洲日本国产| 国产精品久久久久aaaa樱花| 国产原创一区二区三区| 欧美精品自拍偷拍| 一区二区视频在线看| 福利一区二区在线观看| 日韩视频免费直播| 亚洲成a天堂v人片| 在线亚洲人成电影网站色www| 国产亚洲美州欧州综合国| 蜜臀av性久久久久av蜜臀妖精| 欧美午夜寂寞影院| 亚洲私人黄色宅男| 成人h动漫精品一区二| 久久午夜免费电影| 久久99精品网久久| 精品裸体舞一区二区三区| 热久久免费视频| 日韩亚洲国产中文字幕欧美| 偷窥国产亚洲免费视频| 欧美人与性动xxxx| 肉色丝袜一区二区| 欧美精品九九99久久| 午夜精品久久久久久久 | 日本不卡视频在线| 欧美精品xxxxbbbb| 日韩激情一区二区| 91精品国产综合久久精品图片 | 免费在线欧美视频| 日韩视频永久免费| 精品一区二区三区的国产在线播放| 欧美成人r级一区二区三区| 久久99精品一区二区三区三区| 久久丝袜美腿综合| fc2成人免费人成在线观看播放 | 国产白丝精品91爽爽久久|