首页 新闻 会员 周边

Context.Request.Url 编码的问题

0
悬赏园豆:10 [已关闭问题]
<P>用 Context.Request.Url 取到的是 http://localhost/page/page.aspx?bm=新闻中心</P> <P>用&nbsp;&nbsp;Context.Request.Url.Query.Replace('?','&amp;')取到的是:</P> <P>&amp;bm=%E6%96%B0%E9%97%BB%E4%B8%AD%E5%BF%83</P> <P>那是怎么编码的,为什么跟用Server.UrlEncode 取的不一样</P> <P>Server.UrlEncode取的是&nbsp;&nbsp; bm=%d0%c2%ce%c5%d6%d0%d0%c4</P> <P>现在取到的是乱码,该如何解决呢</P> <P><BR>&nbsp;</P>
叶子绿了的主页 叶子绿了 | 初学一级 | 园豆:50
提问于:2008-06-02 12:45
< >
分享
其他回答(2)
0
你现在要取什么? 要取"新闻中心"的话,直接用Request.QueryString["bm"]就可以了,会自动解析,不用再管它编码
李.net | 园豆:730 (小虾三级) | 2008-06-02 13:26
0
我猜的: 第一种方法是因为浏览器设置了发送UTF-8格式的URL,所以“新闻中心”四个字被编码成UTF8格式,即三个字节存放一个字: 新=%E6%96%B0 闻=%E9%97%BB 中=%E4%B8%AD 心=%E5%BF%83 那个UrlEncode是把这个编码后的URL给重新编码/解码了,所以问题奇怪了 如果是要接收“新闻中心”这四个字,直接Request.QueryString["bm"]就可以,不过看你的样子,想是要取得所有的参数,可以考虑使用foreach去遍历Rqeust.QueryString
丁学 | 园豆:18730 (专家六级) | 2008-06-06 13:02
0
kan guo
Jared.Nie | 园豆:1940 (小虾三级) | 2008-06-14 16:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册