単にUnicode文字をHTMLに入れるのではなく、HTMLエンティティを使用するのはなぜですか?


12

HTMLファイルに非当たり障りのない文字を入れたいとしましょう。たとえば、「→」。「→」と入力する理由はありますか HTMLファイルに「→」を入れる代わりに?HTMLファイルがUnicode形式でエンコードおよび送信されていると仮定します。

回答:


10

これら2つの最後のステートメントは、大きな前提です。

たとえば、文字通りの意味でAJAXを使用するWebアプリがあります-XMLドキュメントをオンザフライで読み込むために使用します。XMLドキュメントに正しいcontent-encodingヘッダーがない(またはまったくない)場合、Unicode文字(スマートクォート、長いダッシュ、特別な空白、単語などCafé)があると、Internet Explorerが毎回お尻に落ちます。AJAXリクエストは失敗し、javascriptエラーが発生します。

ただし、すべてのUnicode文字をHTMLエンティティでサーバー側で置き換えると、すべてが正常に機能します。

もちろん、ファイルに正しいコンテンツヘッダーが含まれている場合、これは最新のブラウザーでは問題になりません。


0

ただし、すべてのUnicode文字をHTMLエンティティでサーバー側で置き換えると、すべてが正常に機能します。

これは、すべての文字をHTMLエンティティに置き換えることができることを前提としていますが、HTMLエンティティは置き換えることはできません。後で発生するときに混乱するのではなく、正しいヘッダーを使用し、これらの問題を(間違ったヘッダーを使用して)早期に発見します。


7
実際、すべての Unicode文字には適切なHTMLエンティティがあります。
マークヘンダーソン

ああ、私は悪い、私は名前のあるエンティティを考えていました。:)

0

優れた受け入れられた答えに追加するために、全体として、ASCIIファイルはさまざまなエディター間ではるかに移植性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.