C# urlrewriting.net不接受阿拉伯语查询字符串
我快发疯了,我什么都试过了,urlencode,html encode,但是urlrewriting.net把阿拉伯语的querystring读作??charectersC# urlrewriting.net不接受阿拉伯语查询字符串,c#,asp.net,arabic,C#,Asp.net,Arabic,我快发疯了,我什么都试过了,urlencode,html encode,但是urlrewriting.net把阿拉伯语的querystring读作??charecters 非常感谢您的帮助如果您安装了.NET 3.5 SP1,我建议您切换到System.Web.Routing,而不是UrlRewriting.NET库。我最近从UrlRewriting.net切换到了System.Web.Routing我自己,而Routing经过了更好的思考,与ASP.net管道更好地集成 如果你有机会换工作,我
非常感谢您的帮助如果您安装了.NET 3.5 SP1,我建议您切换到
System.Web.Routing
,而不是UrlRewriting.NET库。我最近从UrlRewriting.net切换到了System.Web.Routing
我自己,而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。我似乎已经通过确保两个页面(包含链接的页面和解析查询字符串的页面)都使用UTF-8编码解决了问题 但现在我有另一个问题 Firefox正在地址栏中正确显示超链接和链接 但在IE6和IE7中是这样的
mysite/News/2008/10/10/%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9.aspx
尽管IE 6和7解析链接很好,但这很难看,请问解决方案是什么?更新:伙计,你不会相信的,我发现问题很奇怪,是IIS 7集成模式, 尝试从VisualStudio Dev服务器启动页面,Unicode字符将被很好地解析,但是如果从IIS 7启动页面,它将为您提供????人物
希望有人能在这里给你点颜色看看当你在“经典模式”下运行IIS 7应用程序时会发生什么(可能需要安装才是一个可用的选项)?经过长时间的乏味尝试后,我建议任何在集成模式下使用IIS 7重写URL的人,停止浪费时间,要么使用MVC路由,要么忘记URL中的阿拉伯字符串试试这个,它会更快。。而且没有问题 “~/News/2008/10/10/newsid/تجب㶡.aspx” 其中newsid是文章的ID 从数据库中获取您的标题:“select*from news where id=”&newsid
它比“从新闻中选择*标题=”&title&“”快得多。您可以在global.aspx中使用->Server.UrlEncode(productName),或者在重写之前使用Server.UrlDecode(Request.QueryString[“productName”)在PageLoad中它在经典模式下工作,我尝试了所有商业和免费的URL重写方法,我结束了使用MVC,放弃了整个web表单模型,现在一切都很好:)感谢很多人提供的好提示,但说真的,我已经忘记了web表单,有了MVC,一切都很顺利