c# - 包含阿拉伯文本时的查询字符串问题

标签 c# asp.net asp.net-mvc url

我正在尝试使用以下代码从 url 获取查询字符串:

this.site_query = Request.Url.Query;

当我得到 url 时:

http://localhost:1751/ar/search?q=سيارة

它给了我代码中的 blow 输出:

http://localhost:1751/ar/Search?q=%D8%B3%D9%8A%D8%A7%D8%B1%D8%A9&Location=%D8%A3%D8%A8%D9%87%D8%A7,Abha

但我需要在查询字符串中发送的阿拉伯语文本。当查询字符串包含英文文本时,在 C# 中它是正确的。

最佳答案

您在回答中显示的第二个 URL 没有任何问题,它只是 URL encoded由于 URL 中允许的字符的限制。

如果你想在代码中获取部分查询字符串,你可以使用这样的代码:

var query = Request.QueryString["q"];

此外,如果您在代码中构建 URL,您应该始终 URL encode和可能包含非标准字符的值:

var urlEncodedValue = HttpUtility.UrlEncode(someValue);

关于c# - 包含阿拉伯文本时的查询字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33776835/

相关文章:

c# - LINQ 可枚举线程

c# - ListView 中的 OnSelectedIndexChanged 未触发

c# - 从IP地址获取网站的服务器

java - 如何使用 Ajax.beginform + 部分 View 更新我的表,在 ym asp.net mvc Web 应用程序内部

c# - 在 Win10 UWP App 中获取屏幕分辨率

c# - 将一个服务注入(inject)另一个服务

c# - mono mcs 'Winforms Hello World' 给出编译错误 CS006 : Metadata file 'cscompmgd.dll' could not be found

c# - GridView 和 objectDataSource

asp.net - 发布 asp.net mvc 缺失图像

asp.net-mvc - 当用户在我的网站上注册时,我应该验证电子邮件地址吗?