这是编码的问题建议在你产生
http://localhost/test/test2.aspx?act=中文
这个联接的时候,将"中文"作一次编码,例如:string act = "中文";string url = "http://localhost/test/test2.aspx?act="+Server.UrlEncode(act);Resposne.Redirect( url );
http://localhost/test/test2.aspx?act=中文
这个联接的时候,将"中文"作一次编码,例如:string act = "中文";string url = "http://localhost/test/test2.aspx?act="+Server.UrlEncode(act);Resposne.Redirect( url );
解决方案 »
- 谁知道哪有进度条第三方控件
- 为什么会定位到/admin/Default.aspx?
- 证书验证,服务器提交了协议冲突. Section=ResponseStatusLine
- URL重写为什么不能传多参数呢?
- 前台的 text 控件如何获取由另外的页面传递过来的参数并显示在该 text 控件上?
- 想做一个这样的后台管理,请指教?
- 可否联系两个非主键的自段呢?................
- CheckBox控件中如何加onclick,我要执行一个javascript函数
- 我的网站发布了,大家多来支持啊!
- 请注意:为什么RegisterStartupScript注册后不按先后顺序执行?
- 急问:datalist的update和cancel事件全部失效
- 在ASP.NET中,向SQL更新数据的问题
我不用 Resposne.Redirect, 而用 window.location=url;
如何解决?
反正问题是出在参数的编码上,所以用Server.Encode转成编码后传递就行了,随便你用什么方式都可以
http://localhost/test/test2.aspx?act=_中文
我这个值是在页面中得到的,所以你的方法行不通
难道是bug吗
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
这里有Vbscript的函数,你可以拿去参考一下,自己做解码
<script language="vbscript">
dim str
str="%5C%D6%D0%B9%FA"
alert URLDecode(str)
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</script>
Server.UrlEncode("中文")