Internet Explorer不会显示URL中的中文字符

时间:2013-01-09 22:17:55

标签: url encoding utf-8

我正在努力要求从URL中显示(使可读的)字符。

  • 当我使用谷歌浏览器时,它会显示中文参数 - 即使它们编码为UTF-8。

  • 当我使用Mozilla Firefox时,它会以中文显示参数 - 即使它们被编码为UTF-8。

  • 当我使用Internet Explorer时,它会显示以UTF-8编码的参数。

N.B。 URL编码为UTF-8;我知道,因为当我从其中三个中复制URL并将其粘贴到Notepad ++时,其中三个显示以下内容:

  

/%E6%89%93%E5%BC%80%E7%9B%AE%E5%BD%95 /%E7%9B%B8%E6%9C%BA /%E6%95%B0%E7 %A0%81%E7%9B%B8%E6%9C%BA /%E5%B0%8F%E5%9E%8B%E6%95%B0%E7%A0%81%E7%9B%B8%E6% 9C%BA /的PowerShot-A480 / p / 1934793

可能是Mozilla Firefox和谷歌Chrome浏览器有这样的改进,可以使编码的字符串可读,也许IE的人不支持吗?或者,有没有办法用IE激活它?

顺便说一句......转到视图>>编码>> Unicode(UTF-8)负责处理页面内的文本,但不会对URL中的文本产生任何影响。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:10)

我撰写了一篇关于Internet Explorer not displaying the decoded version of non-ASCII characters and using IRIs的博文来解决问题。

截至今天,我们有以下情况:

  1. HTML5支持IRIs,即支持Unicode字符的URIs
  2. HTTP不支持IRIs,但所有主流浏览器负责将IRIs转换为有效(已编码)URIs以检索指定资源(页面)。
  3. IE支持锚标记的href属性中的IRIs,并在地址栏中正确显示它们,就像您手动输入网址一样(键盘; - ))。
  4. 如果您选择对IRI进行百分比编码,使其成为URI,则IE不会将URI解码回IRI
  5. 所以你可以尝试以下方法:

    1. 使用UTF-8保存HTML文件。这允许您在其中插入任何Unicode字符。
    2. 对您网页内的网址进行百分比编码&#39;链接。只需使用以下链接:<a href="http://zh.wikipedia.org/wiki/亦思巴奚兵乱">亦思巴奚兵乱</a>
    3. 关于这个主题的一篇很棒的文章也可以在W3C上找到:An Introduction to Multilingual Web Addresses