一直开发的网址都是gb2312格式的,很少遇到问题,最近在搞一个多语言版本的网站,我改用utf8格式,改后遇到许多问题。需要有许多注意的地方:
解决办法:使用server.URLEncode对汉字进行编码,如:a=server.URLEncode("a")
到下一个页面上,使用request("a")直接就可以得到汉字。
如果得不出,使用下面的解码函数,来得到汉字:
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
这样解决了地址栏汉字问题。