我快疯了,我已经尝试了一切,urlencode,html 编码,但是 urlrewriting.net 正在将阿拉伯语查询字符串读取为?? 人物
非常感谢帮助
如果您安装了 .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。
当您在“经典模式”下运行 IIS 7 应用程序时会发生什么(可能需要安装才能成为可用选项)?
经过长时间乏味的试验,我建议任何在集成模式下使用 IIS 7 重写 URL 的人,不要再浪费时间了,要么使用 MVC 路由,要么忘记 URL 中的阿拉伯字符串
试试这个,它更快..而且没有问题。
"~/News/2008/10/10/newsid/تجربة.aspx" 其中newsid是您文章的ID。
从数据库中获取你的标题:'select * from news where id =' & newsid 比:“select * from news where title='”& title &“'”快得多
看来我已经通过确保两个页面(包含链接的页面和解析查询字符串的页面都具有 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 可以很好地解析链接,但这很难看,请问有什么解决方案?
更新:你不会相信的,我发现问题很奇怪,它是 IIS 7 集成模式,尝试从 Visual Studio 开发服务器启动你的页面,Unicode 字符将被解析得很好,但如果你启动来自 IIS 7 的页面它会给你 ???? 人物。
希望一些身体会在这里遮住一些光