2012-03-21 7 views
14

私は最近、例えば、そのソースに直接文字を使用して、知名度の高いサイトの多くを気づいた:HTML5:これは優れています - 文字エンティティを使用し、文字を直接使用していますか?

<q>“Hi there”</q> 

むしろより:

好ましいこれらの
<q>&ldquo;Hi there&rdquo;</q> 

を?私は以前はエンティティを常に使用してきましたが、文字を直接使用すると読みやすくなり、Unicodeドキュメントでは問題ないように見えます。

+1

明らかにcharsを直接使用すると、Unicode以外のドキュメントに入れられる可能性がありますが、UTF-8であればうまく動作するはずです。 +1、素敵な質問;自分自身を疑問に思っています –

+1

あなたが話しているこの「非Unicode文書」とは何ですか? :)(もっと真剣に、これは2012年です。私たちはISO-8859をあきらめて、10年前に独占的な友人だったはずです)。 – Quentin

+1

HTML5仕様では、「著者はUnicodeを使用することをおすすめします」と述べています。http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset – mikemaccana

答えて

6

エンコードがUTF-8の場合、通常の文字は正常に動作し、使用しない理由はありません。 UTF-8をサポートしていないブラウザでは、最新のWebページを表示している間に他にも多くの問題があるので、心配しないでください。

文字を使用する方が簡単で読みやすいし、そうすることをお勧めします。

また、圧縮と縮小を使用することでさらに多くの利点がありますが、それは良い数バイトを保存します。

+2

もう1つの利点は、実際には実際の文字を使用すると、ユーザーが投稿したコンテンツはエンコードされていなくても正しく表示されます。たとえば、ブログでプレーンテキストで読むオプションがあります。 –

1

文字を直接使用する。ソースで読みやすく(人が編集する必要があるため重要です)、必要な帯域幅は少なくて済みます。

2

文字をエンコードすることでわかる主な利点は、ページがASCIIとして解釈されても、文字が正しく表示されることです。

たとえば、ページが生のHTMLファイルの場合、一部のサーバーのデフォルト設定では、text/html; charset=ISO-8859-1default in HTTP 1.1)と表示されます。 content-typeにmetaタグを設定しても、HTTPヘッダーの優先度が高くなります。

この問題は、ページが誤って構成されたサーバーによってどの程度処理されるかによって異なります。

1

実際にはHTML5とHTML4の理論上も実際には間違っています。たとえば、HTML5 discussions of q markupは次のように書いています。 "引用符で囲まれた句読点要素は、q要素の直前、直後、または中に現れてはいけません。

つまり、「q」マークアップまたは句読点のいずれかを使用します。両方を使用することはできません。後者は、すべての実用的な説明に優れています。

エンティティリファレンスとエンティティリファレンスの問題については、前者は可読性に優れていますが、データをUTF-8とdeclare the encodingとして適切に保存する方法を知る必要があります。ロケット科学ではなく、通常はより良い。しかし、あなたのオーサリング環境がUTF-8に敵対的であるなら、あなたは実体参照を使うことを恥じる必要はありません。

+1

私は実際にCSSを介して引用符を追加 - 私はちょうどstackoverflowの小さな例が欲しかった。 PS - これはあなたの答えの一部ではないので、コメントとしては良いでしょう。 – mikemaccana

関連する問題