【问题标题】:Browser Support for UTF8 Encoded Characters in URL's浏览器支持 URL 中的 UTF8 编码字符
【发布时间】:2015-07-11 08:48:28
【问题描述】:

如果我使用特殊的 UTF8 编码字符导航到以下 URL,我会在 Web 浏览器中得到不同的结果:

http://example.com/lörickè

  • Firefox 37 - 显示正确的 URL,如上。
  • Chrome 42 - 显示正确的 URL,如上。
  • Edge - 显示正确的 URL,如上。
  • IE 11 - 显示百分比编码的 URL http://example.com/l%c3%b6rick%c3%a8/

我在哪里可以找到支持此功能的浏览器和版本列表,是否有任何关于新 Microsoft Edge 浏览器是否支持此功能的公告。

This StackOverflow 帖子为感兴趣的人重点介绍了上述问题。

【问题讨论】:

    标签: url browser encoding utf-8 url-encoding


    【解决方案1】:

    浏览器地址栏中显示的不一定是内部使用的。

    如果您在 Firefox 中输入 http://example.com/lörickè,它会像这样显示,但它实际上会被百分比编码并变成 http://example.com/l%C3%B6rick%C3%A8。这是出于可用性原因(或者,如果不支持 IRI,例如在 HTTP/1.1 中,将 IRI 转换为 URI),因此用户不必输入正确的 URL(使用百分比编码),并且不要不要被这些神秘的部分弄糊涂了。

    您可以轻松查看copy-pasting the URL from the address bar into a text document 真正使用的内容。

    因此,您示例中的三个浏览器可能使用相同的 URI(即百分比编码),但两个浏览器决定改为显示未编码的变体。

    【讨论】:

    • 这正是发生的事情。不保证向用户显示的内容是实际传输到服务器或用于内部跟踪(缓存、收藏夹、历史等)。
    • 有没有办法根据用户代理字符串猜测浏览器是否支持?潜在地为他们提供带有完全重音字符的 URL,但不提供给会显示百分比的浏览器。
    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 2014-12-19
    • 2011-11-21
    • 2013-03-16
    • 2011-06-05
    • 2013-03-03
    • 1970-01-01
    相关资源
    最近更新 更多