我有这样的一条语句
var url="server.asp?url=http://www.aa.com/company/%E5%AE%81%E6%B3%A2.html
我在后台也就是ASP页面取 request("url") 参数的时候
取出来是这样子的:http://www.aa.com/company/瀹佹尝.html请教下大家 有没有办法让 它取出来的结果这样子的 :http://www.aa.com/company/%E5%AE%81%E6%B3%A2.html就是说传过来的什么字符就是什么字符

解决方案 »

  1.   

    try:
    var url = decodeURI("http://www.aa.com/company/瀹佹尝.html");
      

  2.   

    先编码再解码:前台先用javascript的escape函数编码
    var url="server.asp?url=" + escape("http://www.aa.com/company/%E5%AE%81%E6%B3%A2.html");后台ASP解码:url = URLDecode(url) 相应ASP函数: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