2011-01-12 18 views
2

HTML文書を作成する場合、その下にセディラを持つ大文字Cのような直接特殊文字を通常のテキスト:ÇまたはのHTML Entity nameHTMLと文字エンコードとHTMLエンティティとの比較

私は実際に両方が使用されているのを見ましたが、確かにこれの適切な使用法を支配するルールと、別のものの利点があります。たとえば、このウェブサイトはこの文字の生の形を維持していますが、他のウェブサイトは四角形のブロックとしてレンダリングする可能性があります。

+0

疑いで、それが必要なのならば、あなた」エンティティ名が不明な場合は、常に数値エンティティを使用できます。「Ç」(文字コード199)は、「Ç」(10進数)または「Ç」(16進数)で表すことができます。その変換は簡単な変換スクリプトで行うことができます。 – bart

+0

あなたはそれに注意する必要があります、私は何とか変換をgoofのオンラインjavascriptを見てきました。 – Incognito

答えて

2

すべては、ドキュメントの文字エンコーディングによって異なります。通常のテキストまたはエンコードバージョンを使用する必要があるかどうかわからない場合は、W3C Validatorでページを実行できます。

は、このコードを検討:ドキュメントのエンコーディングがUTF-8に設定されている

<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <title>Stuff</title> 
</head> 
<body> 
<p>©</p> 
<p>&#169;</p> 
</body> 
</html> 

をし、それを検証だとき、それはエラーを返します。

Sorry, I am unable to validate this document because on line 7 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.

+1

文書がUTF-8として正常に提供されていた場合は、正常に動作します。 –

+1

すべてが素晴らしい答えでしたが、私はあなたが検証方法を提供するので、これを受け入れています。 – Incognito

+1

これはなぜ落とされたのですか? – Incognito

4

UTF-8文字エンコーディングを使用している場合は、ほとんどのエンティティ文字(&amp;,&gt;および&lt;以外)が冗長になります。

UTF-8を使用していない場合は、すべてのエンティティが必要です。

+0

「UTF-8エンコーディングを使用する」とは、「ページをUTF-8エンコードとして配信する」ことを意味します。 –

+1

"UTF-8を使用していない場合は、すべてのエンティティが必要です。" - 違います。現在の文字エンコーディングでは表現できないもののエンティティが必要です。 "Ç"は、たとえばISO-8859-1で問題ありません。 –

+2

UTF-8は、ASCII以外の唯一のエンコーディングではありません(西洋の大部分の文書に最も適切なエンコーディングであっても) – Quentin

6

レアル文字:お使いのシステムは、それらの文字

  • を使用する言語用に設定されている場合

    • を入力するのが容易である保存は

    HTMLエンティティをバイト

  • より読みやすいコードを生成:

    • 鉱石以下の文字エンコーディング明らか

    を忘れて、HTML(<&、など)で特別な意味を持つ文字は、まだ実体で表現する必要があります。

  • 関連する問題