在写ASP的时候,有些朋友喜欢把需要传递的参数放在字符串中,比如index.asp?name=技术网站,这样的话,“技术网站”在使用ASP接受后有可能会乱码,按照PHP的做法,我们可以encode,但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
%>
参数传过来的时候这样写:
<% name = URLEncode(Request("name")) %>
这样参数就不会乱码了!