10

URLから文字を表示(読み取り可能)する要件に取り組んでいます。

  • Google Chromeを使用すると、UTF-8にエンコードされているにもかかわらず、パラメーターが中国語で表示されます。

  • Mozilla Firefoxを使用すると、UTF-8にエンコードされていても、パラメーターが中国語で表示されます。

  • Internet Explorerを使用すると、UTF-8でエンコードされたパラメーターが表示されます。

注意:URLはUTF-8にエンコードされています。3つからURLをコピーしてNotepad++に貼り付けると、3つに次のように表示されるためです。

/%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

MozillaFirefoxとGoogleChromeの人たちが、エンコードされた文字列を読みやすくすることができるこの改善を持っていて、おそらくIEの人たちがそれをサポートしていないのでしょうか?または、IEでそれをアクティブ化する方法はありますか?

ちなみに...[表示]>>[エンコード]>>[Unicode(UTF-8)]に移動すると、ページ内のテキストが処理されますが、URLのテキストには何の違いもありません。

どんな助けでも大歓迎です!

4

1 に答える 1

12

Internet Explorerが非ASCII文字のデコードされたバージョンを表示せず、IRIを使用して問題を解決することについてのブログ投稿を書きました。

現在、次のような状況になっています。

  1. HTML5はIRI、つまりUnicode文字をサポートするURIをサポートします
  2. HTTPはIRIをサポートしていませんが、すべての主要なブラウザーがIRIを有効な(エンコードされた)URIに変換して、指定されたリソース(ページ)を取得します。
  3. IEはアンカータグの属性でIRIhrefをサポートし、URLを手動で入力する場合と同じようにアドレスバーに適切に表示します(キーボード;-))。
  4. IRIをパーセントエンコードしてURIにすることを選択した場合、IEはそのURIIRIにデコードしません。

したがって、次のことを試すことができます。

  1. UTF-8を使用してHTMLファイルを保存します。これにより、任意のUnicode文字を挿入できます。
  2. HTMLページのリンク内にURLをパーセントエンコードしないでください。次のようなリンクを使用してください。<a href="http://zh.wikipedia.org/wiki/亦思巴奚兵乱">亦思巴奚兵乱&lt;/a>

このトピックに関するすばらしい記事は、W3C:多言語Webアドレスの概要にもあります。

于 2013-10-23T13:24:22.717 に答える