当前位置:K88软件开发文章中心编程语言AspAsp01 → 文章内容

解决asp utf8页面地址栏汉字不能获取问题

减小字体 增大字体 作者:佚名     来源:asp编程网  发布时间:2018-12-30 8:32:48

一直开发的网址都是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
这样解决了地址栏汉字问题。



解决asp utf8页面地址栏汉字不能获取问题