日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

asp接收ajax乱码_Asp中处理AJAX乱码问题总结

發(fā)布時(shí)間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp接收ajax乱码_Asp中处理AJAX乱码问题总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

AJAX中的這樣寫法:

XMLHttpReq.open('get',"getsubcategory.asp?BigClassName="+BigClassName+"&number="+Math.random(),true);//get方法

的話如果是傳的是一個(gè)中文的話。那就會(huì)有亂碼了?怎么處理呢?

我發(fā)現(xiàn)了一個(gè)調(diào)試AJAX的方法,就是將服務(wù)器端的值傳回來就可以了。這樣就可以知道哦。這個(gè)值到底是多少了。

對(duì)AJAX中亂碼問題小議:

看了一篇網(wǎng)友的文章 受益不淺啊哈哈拿出來一起分享一下:

1,只要在ajax中有數(shù)據(jù)提交時(shí),如果頁面編碼不是utf-8的,都應(yīng)該對(duì)提交的數(shù)據(jù)進(jìn)行編碼,js的編碼函數(shù)為escape()

2,在服務(wù)器端頁接收數(shù)據(jù)后進(jìn)行解碼,然后對(duì)數(shù)據(jù)進(jìn)行相關(guān)的處理后再編碼

3,返回到客戶端后再解碼

4,如果沒有提交數(shù)據(jù),而是直接從服務(wù)器端獲取數(shù)據(jù),那直接在服務(wù)器頁面設(shè)置Response.Charset="gb2312"即可,不用再編碼解碼

vbscript中分別對(duì)應(yīng)js中的escape()和unescape()函數(shù)

客戶端通過escape(str)編碼? --->??? 服務(wù)器端解碼:他是用VbsEscape(data)'后面我會(huì)把這個(gè)方法源碼寫出來分享

[服務(wù)器端得到了解碼后的數(shù)據(jù)就可以進(jìn)行操作了,比如進(jìn)行SQL查詢之類的操作]

[就是說我們?cè)赨RL中傳遞的就是二進(jìn)制數(shù)據(jù)流,先在客戶端進(jìn)行編碼處理? 到了服務(wù)器端由于 是二進(jìn)制的數(shù)據(jù)所以要先進(jìn)行解碼處理然后可以拿到真實(shí)的數(shù)據(jù)了,然后就可以進(jìn)行操作]

處理完了之后服務(wù)器端就會(huì)將值傳送回去到客戶端那它也要進(jìn)行編碼處理VbsEscape(data)

傳回到了客戶端也要進(jìn)行解碼操作UnEscape()解碼處理。

哈哈,記得一點(diǎn)客戶端與服務(wù)器端的編碼與解碼處理。

附VB中的兩個(gè)函數(shù):

'與javascript中的escape()等效

Function VbsEscape(str)

dim i,s,c,a

s=""

For i=1 to Len(str)

c=Mid(str,i,1)

a=ASCW(c)

If (a>=48 and a<=57) or (a>=65 and a<=90) or (a>=97 and a<=122) Then

s = s & c

ElseIf InStr("@*_+-./",c)>0 Then

s = s & c

ElseIf a>0 and a<16 Then

s = s & "%0" & Hex(a)

ElseIf a>=16 and a<256 Then

s = s & "%" & Hex(a)

Else

s = s & "%u" & Hex(a)

End If

Next

VbsEscape=s

End Function

'與javascript中的unescape()等效

Function VbsUnEscape(str)

Dim x

x=InStr(str,"%")

Do While x>0

VbsUnEscape=VbsUnEscape&Mid(str,1,x-1)

If LCase(Mid(str,x+1,1))="u" Then

VbsUnEscape=VbsUnEscape&ChrW(CLng("&H"&Mid(str,x+2,4)))

str=Mid(str,x+6)

Else

VbsUnEscape=VbsUnEscape&Chr(CLng("&H"&Mid(str,x+1,2)))

str=Mid(str,x+3)

End If

x=InStr(str,"%")

Loop

VbsUnEscape=VbsUnEscape&str

End Function

%>

確實(shí)給我感覺收獲不少,哈哈。相信以后在ASP中遇到 中文問題不會(huì)有什么困難處理了!

閱讀(1594) | 評(píng)論(0) | 轉(zhuǎn)發(fā)(0) |

總結(jié)

以上是生活随笔為你收集整理的asp接收ajax乱码_Asp中处理AJAX乱码问题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。