搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

HREF=UTF-8 String <a href="http://%E9%A3%9F....." doesn't work

  • 4 个回答
  • 2 人有此问题
  • 4 次查看
  • 最后回复者为 guigs

more options

The problem that I have is IDN (International Domain Name) UTF-8 string set in the Web Page's < a href="

I have create the test case reside in the http://ecotw101.com/test_href_idn.html There are 2 lines in the page content 1st line: htef using the Chinese character input string and just like the type into the browser URL , both will works (connet to HTTP server) 2nd line: href using the UTF-8 3bytes encoding for each character and after it send to Apache Server, it get the following err message " Server not found

Firefox can't find the server at %e9%a3%9f%e7%89%a9%e5%85%8d%e8%b2%bb.%e6%85%88%e5%96%84%e7%b6%b2.net. "

The test case works fine with the Chrome browser.

Since the href content was generated from HTML editor or QR redirect program, it is UTF-8 format. Firefox use it for connect to Web Server and got error.

Don't know how Chrome handle the case. I guess that Chrome might do a convert from UTF-8 to PunyCode of IDN.

IE has the same problem. This problem will happen on the mobile smart phone after scan a QR code which use an IDN for redirecting the Web site.

Thanks !

- Mike


code edited to get rid of the whole paragraph worth of hyperlink - ed

The problem that I have is IDN (International Domain Name) UTF-8 string set in the Web Page's &lt; a href=" I have create the test case reside in the http://ecotw101.com/test_href_idn.html There are 2 lines in the page content 1st line: htef using the Chinese character input string and just like the type into the browser URL , both will works (connet to HTTP server) 2nd line: href using the UTF-8 3bytes encoding for each character and after it send to Apache Server, it get the following err message " Server not found Firefox can't find the server at %e9%a3%9f%e7%89%a9%e5%85%8d%e8%b2%bb.%e6%85%88%e5%96%84%e7%b6%b2.net. " The test case works fine with the Chrome browser. Since the href content was generated from HTML editor or QR redirect program, it is UTF-8 format. Firefox use it for connect to Web Server and got error. Don't know how Chrome handle the case. I guess that Chrome might do a convert from UTF-8 to PunyCode of IDN. IE has the same problem. This problem will happen on the mobile smart phone after scan a QR code which use an IDN for redirecting the Web site. Thanks ! - Mike ---------------------------- ''code edited to get rid of the whole paragraph worth of hyperlink - ed''

由the-edmeister于修改

所有回复 (4)

more options

network.standard-url.encode-utf8 = true (default: false) network.standard-url.escape-utf8 = false currently is true

If you change that second setting does it help? It did not for me but I saw back in version 3 this was a feature that was proposed fixed. https://bugzilla.mozilla.org/show_bug.cgi?id=552273 for reference. It I may ask is this the only site that does this?

more options

You can't have escaped cod in the first TLD part of the link. You can only have puny code in that part.

Note that the .net domain isn't whitelisted via a network.IDN.whitelist.net pref.

more options

Thanks for replying.

Have tried to set network.standard-url.escape-utf8 = false and restart the Firefox and it still can't solve the problem.

Chrome browser works fine.

I guess Firefox might need to convert the href=" %xx%xx ..." into the href="//xn--94qz02fu7 ...: punycode and then use the punycode to get name resolve.

- Mike

more options

Just to follow up: Bug 309671 was the actual bug, as one of the bugzilla contributors/engineers informed me. They are looking for help if you would like to read up on the discussion for this issue. Thank you for your time.