Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# urlrewriting.net不接受阿拉伯语查询字符串_C#_Asp.net_Arabic - Fatal编程技术网

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

C# 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管道更好地集成 如果你有机会换工作,我

我快发疯了,我什么都试过了,urlencode,html encode,但是urlrewriting.net把阿拉伯语的querystring读作??charecters


非常感谢您的帮助

如果您安装了.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,一切都很顺利