タイトルの通りです:
HTML - UTF-8 または ISO-8859-1 を使用する場合でも、特殊文字のコードを入力する必要がありますか?
それとも、普通に入力できますか?
例: HTML META タグで UTF-8 を使用しています。ç と入力する必要がありますç
これは些細な質問であることはわかっていますが、基本的なことなのでスキップできません。
いいえ、次の場合にのみ文字参照を使用する必要があります。
<
または など&
)。meta タグで UTF-8 を使用していることを宣言するだけでは不十分であることに注意してください。また、HTML ソースを UTF-8 でエンコードする必要があり (優れたエディターはデフォルトでこれを使用します)、実際の HTTP ヘッダーで他のエンコードの宣言でオーバーライドしないでください。また、実際の HTTP ヘッダーを設定して、UTF-8 が使用されていることを示す必要があります。
はい、文字のエンティティを使用せずに、これらの文字をHTMLソースに直接含めることができます。ファイルを保存するエンコーディングが、Webサーバーがファイルを提供するエンコーディングと実際に一致していることを確認してください。
エンコーディングが正しいことを確認することに関する部分は重要であり、間違えやすいです。注意すべき点の1つは、meta
タグは、ブラウザがドキュメントのエンコーディングを解釈するために使用する主要な情報源ではないということです。主要な情報源はContent-type
ヘッダーであり、HTTPヘッダーの一部として送信されます。meta
タグは元々、何を使用するかをWebサーバーに通信するために使用されるはずでしたがContent-type
、ほとんどのWebサーバーは、このためにドキュメント自体とは別の構成を使用します。したがって、ドキュメントをUTF-8として保存する場合は、WebサーバーがページをUTF-8としても提供するように構成されていることを確認してください。
meta
タグは、ヘッダーが提供されていないか、有効なエンコード情報が含まれていない場合のフォールバックとしてブラウザーによって使用されますContent-type
。URLを使用してローカルマシンでページを表示するContent-type
など、情報を提供しないソースからロードする場合に便利です。file:
したがって、エンコーディングが適切に設定されていることを確認する必要がある3つの場所があります。テキストエディタ(適切なエンコーディングでファイルを保存するため)、Webサーバー構成(適切なエンコーディングをブラウザに伝達するため)、およびmeta
タグで、ページをローカルで表示するときに、正しいエンコーディングで表示されます。
最後に、ISO-8859-1は使用しないでください。これはレガシーエンコーディングですが、互換性のためにのみサポートされています。すべての主要なブラウザとテキストエディタは、Unicodeのすべてをカバーし、エンコーディングの問題を大幅に軽減するUTF-8をサポートしています。