Day 3083 IE6 UTF-8 URL的不完全支持导致浏览出现问题

请注意:本页内容发布于 3798 天前,内容可能已经过时,请注意甄别。

某办公室的老师把我叫去看一个奇怪的问题:在昵图网搜索三个字的关键词,例如「西红柿」,第一页可以正常浏览,但直接单击「下一页」的时候就会变成这样:

ie6_incomplete_utf8_support

此时的页面链接为 http://soso.nipic.com/?q=西红柿&sort=&from=1&page=2 ,而前一页的链接为 http://soso.nipic.com/?q=%E8%A5%BF%E7%BA%A2%E6%9F%BF&sort=&from=1 ,其差别除了换页的page外,主要在于是否对关键词进行了编码。

经过一番搜索,发现可能是IE6对UTF-8编码的不完全支持所致,具体似乎是在处理奇数个中文字时会截断最后一个字节,于是导致以上问题的出现,修理方法是在服务器端对关键字进行编码,而在客户端的唯一解则是对IE进行升级。

或许有人会说更换其它浏览器也能解决问题,但经过试验得出的结论很奇怪:Chrome360极速浏览器等Webkit内核的浏览器在升级IE6前一样会出现错误,而Gecko内核的FireFox则没有这个问题,但同样是Webkit内核的淘宝浏览器则不存在这个问题。That’s weird.

corrupt_help_message_of_nipic-com

顺便吐个槽:昵图网官方QQ这种诡异的帮助信息是什么人才能写得出来的……

Comments

  1. 电脑是IE6,可能是操作系统的问题。系统补丁可能修复的是“操作系统在处理url”的bug。chrome貌似在很多地方使用的都是系统的接口(比如代理配置),而firefox独立性比较好。
    至于淘宝浏览器,你可以观察一下淘宝的各种链接,可能他们在开发浏览器时就已经发现IE6有这个问题了,所以可以自己优化代码避免此问题发生,毕竟Webkit是开源的。

  2. 我更愿意相信由于淘宝在网站开发过程中发现IE6存在编码bug,所以好好地在各个arg处做了Encode,以避免使用IE6的用户出现这个问题。
    确实不是OS(XP)的问题,如果是的话我最后会以升级系统告终,而不是简单将IE升级到8。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

 剩余字数 ( Characters available )

Your comment will be available after auditing.
您的评论将在通过审核后显示。

Please DO NOT add any links in your comment, otherwise it would be identified as SPAM automatically and never be audited.
请不要在评论中插入任何链接,否则将被自动归类为垃圾评论,且永远不会被提交给博主进行复审。

*