urlrewriting.net不接受阿拉伯语查询字符串

时间:2009-02-25 16:00:27

标签: c# asp.net arabic

我要发疯了,我已经尝试了一切,urlencode,html编码,但是urlrewriting.net正在阅读阿拉伯语查询字符串? charecters

非常感谢帮助

7 个答案:

答案 0 :(得分:3)

如果您安装了.NET 3.5 SP1,我建议您切换到System.Web.Routing而不是UrlRewriting.net库。我最近自己从UrlRewriting.net切换到System.Web.Routing,并且更好地考虑了路由并更好地与ASP.NET管道集成。

如果你有机会切换,我会推荐它。如果没有,请发布您的UrlRewriting.net配置文件,以便我们可以调整显然无效的正则表达式。请发布一些不起作用的URI示例。

此外,web.config部分中定义的值是什么:

<system.web>
  <globalization requestEncoding="utf-8"
                 responseEncoding="utf-8"
                 fileEncoding="utf-8" />
</system.web>

与上例相似,请使用UTF-8。还要确保在URI中将字符编码为UTF-8。

答案 1 :(得分:1)

在“经典模式”下运行IIS 7应用程序时会发生什么情况(可能需要将安装作为可用选项)?

答案 2 :(得分:1)

经过长时间的繁琐试验我建议任何在集成模式下使用IIS 7进行URL重写的人,不要浪费时间并使用MVC路由或忘记URL中的阿拉伯字符串

答案 3 :(得分:1)

试试这个,它更快..而且免费问题。

“〜/新闻/ 2008/10/10 / NewSID的/تجربة。ASPX” 其中newsid是您文章的ID。

从数据库中获取标题:'select * from news where id ='&amp; NewSID的 它比以下快得多:“select * from news where title ='”&amp; title&amp;“'”

答案 4 :(得分:0)

似乎我已经解决了这个问题,确保两个页面,包含链接的页面和解析查询字符串的页面都有UTF-8编码

但现在我又遇到了另一个问题 Firefox正确显示地址栏中的超链接和链接 但是在IE6和Ie 7中它就像这样

mysite/News/2008/10/10/%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9.aspx

即使IE 6和7正在解析链接很好,但这很难看,请问有什么解决方案?

答案 5 :(得分:0)

更新:男人,你不会相信它,我发现它是如此奇怪的问题,它是与IIS 7集成模式, 尝试从visual studio Dev服务器启动你的页面并且Unicode字符将被解析得很好,但是如果你从IIS 7启动页面它会给你????字符。

希望有些身体会遮挡一些光线

答案 6 :(得分:-1)

你可以使用 - &gt; global.aspx中的 Server.UrlEncode(productName)或在重写之前,然后在PageLoad中使用 Server.UrlDecode(Request.QueryString [“productName”]);