url rewrite 时,中文参数解决方法:用到的解码函数 :
1:多参数含有中文,数字和字母的iisrewrite正则表达实例参考:$1代表字母,$2代表中文;
URLRewrite /esf_listzj_{[^/x00-/xff]+}_{[^/x00-/xff]+}/.html /esf_listzj.asp?pubuser=$1&zjmingcheng=$2
url rewrite 时,中文参数解决方法:用到的解码函数
#ASP页面中,只要把Request来的数据采用以下函数URLDecode解码就可以了<%=URLDecode(Request("name"))%>
# ASP页面中rewrite后表示方法: <a href="info_<%=server.urlencode("一")%>.html">ccc</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
<a href="info_dd.html">aaa</a>
<a href="info_11.html">bbb</a>
<a href="info_一.html">ccc</a>
唉
<a href="info_dd.html">aaa</a>
<a href="info_11.html">bbb</a>
<a href="info_<%=server.urlencode("一")%>.html">ccc</a>
就可以了
当然你也可以使用变量来
<%
href="server.urlencode asp是自动解码的。实际生成的是%???这样的代码根据你网站的编码不同会产生不同的
值.ansi 是 2个节节也就是 %NN%NN 代表一个汉字 utf-8 是3个字节 %NN%NN%NN 代表一个汉字"
%>
<a href="<%=server.urlencode(href)%>">ccc</a>