成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

解決ASP中傳送中文參數(shù)亂碼的問題

2010-08-28 10:54:11來源:西部e網(wǎng)作者:

在網(wǎng)頁中,有時(shí)候會(huì)傳送一些中文參數(shù),但是在某些瀏覽器下(比如IE,在Firefox就是正常的),這些中文參數(shù)轉(zhuǎn)換就會(huì)出錯(cuò),會(huì)用到ASP中的URLEncode方法來解決這個(gè)問題。

比如傳送的參數(shù)為:

http://weste.net/?西部e網(wǎng)

直接發(fā)送可能在程序接受方就是亂碼,尤其在UFT-8的編碼下,所以我們發(fā)送前要先轉(zhuǎn)換一下

<% Response.Write "/?"&Server.URLEncode("西部e網(wǎng)") %>

轉(zhuǎn)換后就變成了

http://weste.net/?id=%E8%A5%BF%E9%83%A8e%E7%BD%91

發(fā)送過去接收的程序還要將%E8%A5%BF%E9%83%A8e%E7%BD%91這部分轉(zhuǎn)換回原來的代碼,這個(gè)時(shí)候ASP就沒有提供一個(gè)解碼的方法了,要我們自己寫一個(gè):

<%
'Server.URLEncode(string)的解密函數(shù)
Function URLDecode(enStr)
   dim deStr,strSpecial
   dim c,i,v
     deStr=""
     strSpecial="!""#$%&'()*+,.-_/:;<=>?@[\]^`{|}~%"
     for i=1 to len(enStr)
       c=Mid(enStr,i,1)
       if c="%" then
         v=eval("&h"+Mid(enStr,i+1,2))
         if inStr(strSpecial,chr(v))>0 then
           deStr=deStr&chr(v)
           i=i+2
         else
           v=eval("&h"+ Mid(enStr,i+1,2) + Mid(enStr,i+4,2))
           deStr=deStr & chr(v)
           i=i+5
         end if
       else
         if c="+" then
           deStr=deStr&" "
         else
           deStr=deStr&c
         end if
       end if
     next
     URLDecode=deStr
End function
%>

接受的時(shí)候這樣寫:

<% name = URLEncode(Request("id")) %>

這樣就轉(zhuǎn)換過來了!

關(guān)鍵詞:ASP
主站蜘蛛池模板: 文昌市| 明溪县| 阿克苏市| 睢宁县| 镇平县| 太原市| 常山县| 鹿泉市| 都匀市| 苗栗市| 南召县| 始兴县| 黄陵县| 稷山县| 徐汇区| 云梦县| 抚州市| 白城市| 昌平区| 西贡区| 大竹县| 抚州市| 长兴县| 鄄城县| 娄烦县| 泾阳县| 济宁市| 塘沽区| 鄂尔多斯市| 罗甸县| 景东| 永德县| 松原市| 民勤县| 都江堰市| 金昌市| 二手房| 利川市| 阿城市| 梁平县| 景德镇市|