在我们的网站上,我使用查询字符串中的类别(俄语)。
例如:http://www.odinklik.ru/kategoriya.aspx?cat=люди
如果您在IE8中粘贴此链接,则会将其翻译为cat = ????它不起作用 如果我将它粘贴在FireFox中,它就能正常工作。
它变得更加奇怪:从主页可以访问相同的URL,如果我从主页单击IE8中的相同URL它工作正常(除非我在新选项卡中单击打开,它回到?? ??)。
我正在使用ASP.NET 3.5(C#)
答案 0 :(得分:1)
您是否尝试在第一页上进行编码并从西里尔语解码为Unicode并返回? 有点头疼但是很有效。
答案 1 :(得分:1)
您应该在将类别名称添加到查询字符串之前对其进行URL编码,而不是依赖浏览器为您执行此操作。
方法HttpServerUtility.UrlEncode应该能够为您处理此编码。
HttpServerUtility.UrlEncode应该为您提供链接http://www.odinklik.ru/kategoriya.aspx?cat=%D0%BB%D1%8E%D0%B4%D0%B8,它可以为您提供正确的结果。
(请注意,%D0%BB
对应л
,%D1%8E
对应ю
,%D0%B4
对应д
,%D0%B8
对应{ {1}}。由于西里尔字符的Unicode值超过и
,因此每个字符需要两个URL编码字节。)