Asp.net mvc 2 ASP.NET MVC 2-请求编码问题

Asp.net mvc 2 ASP.NET MVC 2-请求编码问题,asp.net-mvc-2,Asp.net Mvc 2,你好 有一个控制器和一个动作通过GET接收一个参数,大致如下: www.site.com/controller/action/?query=Пааааажааааааааааааа107。你应该对它们进行编码 :统一资源定位器(URL)规范 ..URL中只能使用字母数字[0-9a-zA-Z]、特殊字符“$-?+!*”()、“[不包括引号-ed]和用于保留目的的保留字符,这些字符可以在未编码的情况下使用 如果您的用户打算自己用俄语输入Url-(用于搜索),您可以尝试Request.Url您需要输入

你好

有一个控制器和一个动作通过GET接收一个参数,大致如下:


www.site.com/controller/action/?query=Пааааажааааааааааааа107。你应该对它们进行编码

:统一资源定位器(URL)规范

..URL中只能使用字母数字[0-9a-zA-Z]、特殊字符“$-?+!*”()、“[不包括引号-ed]和用于保留目的的保留字符,这些字符可以在未编码的情况下使用

如果您的用户打算自己用俄语输入Url-(用于搜索),您可以尝试Request.Url

您需要输入querystring值

HttpUtility.UrlDecode(Request.QueryString["q"], Encoding.Default) 

解决问题。

非常感谢!URL解码工作。HttpUtility.UrlDecode(Request.QueryString[“q”],Encoding.Default);但很奇怪,这种编码。默认值是win-1251。出于某种原因,我认为Win7完全使用Unicode:(
  param = "������"
Request.RawUrl = "/controller/action/?q=%CF%F0%E8%EC%E5%F0"
QueryString = {q=%ufffd%ufffd%ufffd%ufffd%ufffd%ufffd}
param = "Example"
Request. RawUrl = "/controller/action/?q=Example"
QueryString = {q=Example}
Web.config:
<globalization requestEncoding="utf-8" responseEncoding="utf-8"
           fileEncoding="utf-8" />
HttpUtility.UrlDecode(Request.QueryString["q"], Encoding.Default)