首页 新闻 会员 周边

伪静态后 url 传递中文参数乱码。

0
悬赏园豆:5 [已解决问题] 解决于 2013-09-26 21:42

比如 cs.aspx?a="中文"  经过编码后,后台接受参数,然后解码,参数正常。

改为伪静态后 cs-中文.html 经过编码后  接收参数解码,就乱码了。

断点发现 

System.Web.HttpUtility.UrlDecode(Request.QueryString["Keyword"],System.Text.Encoding.Default);

非伪静态时Request.QueryString["Keyword"]==%E8%9B%8B%E7%96%BC  //解码后可正常显示中文

而伪静态时Request.QueryString["Keyword"]==%u00e8%u009b%u008b%u00e7%u0096%u00bc  //解码后乱码

伪静态时在接收参数这出问题了???求指点

老树昏鸦的主页 老树昏鸦 | 初学一级 | 园豆:10
提问于:2013-09-23 14:46
< >
分享
最佳答案
0

伪静态时,Url重写规则是怎么写的?

收获园豆:5
dudu | 高人七级 |园豆:31003 | 2013-09-23 14:53

用的URLReWrite.dll

<RewriterRule>
<LookFor>~/cs/cs-(.*)\.html</LookFor>
<SendTo>~/cs/cs.aspx?Keyword=$2</SendTo>
</RewriterRule>

 

老树昏鸦 | 园豆:10 (初学一级) | 2013-09-23 15:11

@老树昏鸦: 我们用的是IIS URL Rewrite Module,从没遇到过这个问题。

dudu | 园豆:31003 (高人七级) | 2013-09-23 15:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册