Opera URL encode bug

2007.04.1316:15

瀚海用 Opera 回复帖子,如果标题有中文会变乱码,发表文章和同主题阅读就没有问题,非常恼人,不知怎么回事。今天研究了一下,发现似乎是 Opera 的 bug:

  • Opera 似乎会通过 href 中是否有冒号(:)来选择不同的 URL encode 方式,没有冒号的使用当前页面编码,有冒号的使用 UTF8 编码。BBS 回复文章的时候会在标题前面加一个“Re: ”,所以出了问题。
  • 取消了工具-> 首选项 -> 用 UTF-8 给国际语言网址编码复选框,问题依旧。(这个选项是不是干这个事的?)

bug 演示页面在此,鼠标划过两个不同的 link,注意状态栏,会发现两个 URL 采用的 encode 方式不同,而其他浏览器正常。记得以前 Opera 好像不会这样,自从版本 9(还是8?)以后开始有这个问题,今天更新了最新的 9.20 final 依旧如此。

所以初步判断是个 bug,已经提交到 Opera 的 bug report 系统 ,不知道什么时候能有回应。

updated发现将冒号先 encode 成 %3A 可以解决这个问题,不过目前还属于知其然不知其所以然,补习一下 RFC:http://www.faqs.org/rfcs/rfc1738.html

updatedOpera 9.5已经没有这个问题了,good~

3 Comments Comment RSS »

The URI to TrackBack this entry is: http://old9.blogsome.com/2007/04/13/opera-url-encode-bug/trackback/

  1. 老九 我的BinBin又重架了 不过以前的数据导不回来了 -,=
    地址也改成了 www.zoeley.com
    Update一下吧 :)

    Comment by neery — 2007.4.14 @ 00:16

  2. href指向的url编码在server端预先处理好可以解决这个问题吧?

    Comment by Joe — 2007.4.20 @ 13:36

  3. 嗯,等下试试看,多谢提醒。hoho

    Comment by old9 — 2007.4.20 @ 16:43

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


为防评论机器人,劳驾您输入图片中的字符 :)
captcha