请注意:本页内容发布于 3798 天前,内容可能已经过时,请注意甄别。
某办公室的老师把我叫去看一个奇怪的问题:在昵图网搜索三个字的关键词,例如「西红柿」,第一页可以正常浏览,但直接单击「下一页」的时候就会变成这样:
此时的页面链接为 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进行升级。
或许有人会说更换其它浏览器也能解决问题,但经过试验得出的结论很奇怪:Chrome、360极速浏览器等Webkit内核的浏览器在升级IE6前一样会出现错误,而Gecko内核的FireFox则没有这个问题,但同样是Webkit内核的淘宝浏览器则不存在这个问题。That’s weird.
顺便吐个槽:昵图网官方QQ这种诡异的帮助信息是什么人才能写得出来的……
电脑是IE6,可能是操作系统的问题。系统补丁可能修复的是“操作系统在处理url”的bug。chrome貌似在很多地方使用的都是系统的接口(比如代理配置),而firefox独立性比较好。
至于淘宝浏览器,你可以观察一下淘宝的各种链接,可能他们在开发浏览器时就已经发现IE6有这个问题了,所以可以自己优化代码避免此问题发生,毕竟Webkit是开源的。
我更愿意相信由于淘宝在网站开发过程中发现IE6存在编码bug,所以好好地在各个arg处做了Encode,以避免使用IE6的用户出现这个问题。
确实不是OS(XP)的问题,如果是的话我最后会以升级系统告终,而不是简单将IE升级到8。