HTML文字セット


HTMLページを正しく表示するには、ブラウザは使用する文字セット(エンコーディング)を知っている必要があります。

<meta charset="UTF-8">

HTML文字セット

HTML5仕様は、Web開発者がUTF-8文字セットを使用することを推奨しています。

これは常にそうであるとは限りません。初期のWebの文字エンコードはASCIIでした。

その後、HTML2.0からHTML4.01まで、ISO-8859-1が標準の文字セットと見なされました。

XMLとHTML5により、UTF-8がついに登場し、多くの文字エンコードの問題を解決しました。


はじめに:ASCII

コンピュータデータは、電子機器にバイナリコード(01000101)として保存されます。

テキストの保存を標準化するために、情報交換のための米国標準コード(ASCII)が作成されました。0〜9の数字、大文字と小文字のアルファベット(az、AZ)、および!のような特殊文字をサポートするために、格納可能な文字ごとに一意の2進数を定義しました。$ +-()@ <> 、。

ASCIIは文字に7ビットを使用したため、128の異なる文字しか表現できませんでした。

ASCIIの最大の弱点は、英語以外の文字を除外することでした。

ASCIIは、特に大規模なメインフレームコンピュータシステムで現在も使用されています。

詳細については、完全なASCIIリファレンスをご覧ください


Windowsの場合:Windows-1252

Windows-1252は、Windows95までのWindowsのデフォルトの文字セットでした。

これはASCIIの拡張であり、国際文字が追加されています。

フルバイト(8ビット)を使用して256の異なる文字を表します。

Windows-1252はWindowsのデフォルトであるため、すべてのブラウザでサポートされています。

詳細については、「完全なWindows-1252リファレンス」を参照してください。



HTML 4の場合:ISO-8859-1

HTML4で最も頻繁に使用される文字セットはISO-8859-1でした。

ISO-8859-1はASCIIの拡張であり、国際文字が追加されています。

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">

HTML 4では、ISO-8859-1とは異なる文字セットを<meta>タグで指定できます。

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-8">

すべてのHTML4プロセッサはUTF-8もサポートしています。

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

ブラウザがISO-8859-1を検出すると、Windows-1252にはさらに32文字の国際文字があるため、通常はデフォルトでWindows-1252になります。

詳細については、以下を参照してください:完全なISO-8859-1リファレンス


HTML5の場合:Unicode UTF-8

HTML5仕様は、Web開発者がUTF-8文字セットを使用することを推奨しています。

<meta charset="UTF-8">

<meta>タグでは、UTF-8とは異なる文字セットを指定できます。

<meta charset="ISO-8859-1">

ユニコードコンソーシアムは、ISO-8859文字セットが制限されており、多言語環境と互換性がないため、UTF-8およびUTF-16標準を開発しました。

Unicode標準は、(ほぼ)世界中のすべての文字、句読点、および記号を対象としています。

すべてのHTML5およびXMLプロセッサは、UTF-8、UTF-16、Windows-1252、およびISO-8859をサポートしています。

詳細については、「完全なUnicodeリファレンス」を参照してください。