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

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

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这种诡异的帮助信息是什么人才能写得出来的……

注:所有评论将在审核通过后显示,请不要在评论内容的任何位置出现链接,否则您的评论将被自动移入回收站,且永远不会被复审。

All comments will be available after being manually reviewed, please do not include any links anywhere in your comment, otherwise your comment will be automatically deleted and are not eligible for review.

2 条评论

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

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

发表回复

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