HTML ページを正しく表示するためには、ブラウザに、どのような文字セット(文字エンコーディング) を使うかを知らせなければなりません。
HTML で使用する正しい文字エンコーディングとは何ですか?
HTML5 のデフォルトの文字エンコーディングは UTF-8 です。
これは、必ずしもそうではありませんでした。早期の web 用の文字エンコーディングは ASCII でした。
その後、HTML 2.0 から HTML 4.01 までは、ISO-8859-1 が標準と考えられていました。
XMLと HTML5 では、最終的に UTF-8 に到達し、文字エンコーディングに関する多くの問題を解決するに至りました。
下は、文字エンコーディング標準に関する簡単な説明です。
コンピュータ情報(数値、テキスト、画像)は、エレクトロニクスにおけるバイナリの 1 と 0(01000101)で保存されます。
英数字を格納するための標準として、情報交換用米国標準コード(ASCII)が作成されました。 それは、0-9 の数値と大/小文字のアルファベット(a-z, A-Z)、! $ + - ( ) @ < > のようなを特殊文字をサポートするための、 おのおの格納可能な文字用にユニークなバイナリ 7-bits 数値を定義しました。
ASCII は、1 バイト(文字用に7 ビットを、送信パリティ制御のために 1 ビット)を使用するので、 それだけで 128 種類の文字を表すことができます。従って、前の文字に加えて、さらに 32 文字が制御用に予約されました。
ASCII の最大の弱点は、英語以外の文字を除外していることでした。
ASCII は、特に大型メインフレーム・コンピュータ・システムでは、今日でも広く使用されています。
詳細に関しては、Complete ASCII リファレンスをご覧ください。
ANSI(または、Windows-1252)は、Windows95まで Windows のデフォルトの文字セットでした。
ANSI は、ASCII の拡張で、インターナショナルな文字が追加したものです。これは、256 種類の文字を表現するために、 1 バイトをフルに(8ビット)を使用しています。
ANSI は、Windows のデフォルト文字セットであるため、すべてのブラウザがサポートしています。
詳細に関しては、Complete ANSI リファレンスをご覧ください。
ほとんどの国では、ASCII 以外の文字を使用しているため、HTML 2.0 の標準のデフォルト文字エンコーディングは、 ISO-8859-1 に変更されました。
ISO-8859-1 は、ASCII の拡張で、インターナショナルな文字が追加したものです。 ANSI のように、ASCII の 2 倍の文字を表現するために、1 バイトをフルに使用しています。
ブラウザは、Web ページ内で ISO-8859-1 を検出すると、ANSI が 32 の特別な文字を持っていることを除き、 ANSI と ISO-8859-1 とは同じなので、通常は ANSI をデフォルト設定します。
HTML 4 の web ページが ISO-8859-1 とは異なる文字セットを使用している場合は、 <meta> タグで次のように指定する必要があります:
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-8">
HTML5 のデフォルトの文字セットは UTF-8 です。
すべての HTML 4 プロセッサは UTF-8 をサポートし、すべての HTML5 と XML プロセッサは UTF-8 と UTF-16 の両方をサポートしています。
詳細に関しては、Complete ISO-8859-1 リファレンスをご覧ください。
上の文字セットが制限されて、多言語環境での互換性がなかったため、ユニコード・コンソーシアムは、Unicode 標準を開発しました。
Unicode 標準は、世界中のほぼ全ての文字、約物(句読点など)、記号をカバーしています。
Unicode は、プラットフォームや言語に依存しない、処理やストレージ、テキストの持ち運びを可能にします。
HTML5 のデフォルトの文字エンコーディングは UTF-8 です。
詳細に関しては、Complete Unicode リファレンスをご覧ください。