The Web Design Group

文字符号化の使用

 文字符号化は、バイトを文字に変換する方法です。 HTML文書を検証や画面表示のために、プログラは文字符号化を選択しなければなりません。英語や多くの西欧言語の文書は、広くサポートされている符号化であるISO-8859-1が通常使用されます。

 HTML 4.0より前の HTMLバージョンは、制限された文字セットしかサポートしてなく、ISO-8859-1を使って符号化できる文字しか許していませんでした。 Chinese・Cyrillic・Greek・その他の非ラテン文字を使った文書は、HTML 4.0を使用しなければなりません(または HTMLのカスタム・バージョン)。 HTML 3.2やより前のバージョンに対して非ラテン文字の文書を検証しようと試みるとエラーになります。

 HTML文書では、文書の文字符号化を特定しなければなりません。符号化を示唆する好ましい方法は、 Content-Type HTTP headerのcharsetパラメーターを使うことです。例えば HTML文書がISO-8859-1を使用することを特定するには、サーバーは以下のようなヘッダーを送ります:

Content-Type: text/html; charset=ISO-8859-1

 このヘッダーをサーバーがどのようにして送るかは、サーバーの特殊性に依存します:必要ならサーバー資料(documentation)をチェックして下さい。広く使われている Apache[日本語資料:Apache HTTPDJAPANIZED APACHE SERVER PROJECT]サーバーでは、そのディレクトリーやサブ・ディレクトリーにあるファイルのContent-Typeを設定するのに、".htaccess"と言われるファイルをどのディレクトリーにも追加できます。拡張子"html"のある全てのファイル用に前の例で使われているContent-Typeを特定するには、".htaccess" fileに以下のようなものを使います:

AddType 'text/html; charset=ISO-8859-1' html

 文字符号化を設定するためのより好ましくはない方法は、 HTML文書の HEADに以下のタグを使うものです:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

 この方法では、 <META>タグがくる迄はASCII文字が立ち上がるよう要求され、 ネットスケープの迷惑な描き直し(annoying redraw with Netscape)をよく起こします。 サーバーを使ったcharsetパラメーターを設定することが出来ない場合にのみ、 META HTTP-EQUIV方法は使われるべきです。

 注:日本語の場合は、ISO-2022-JP、EUC-JP、Shift_JIS があります。

その他の情報


[ホームページ] [チップスへ戻る]


日本語翻訳版覚書

この文書の原著は、Web Design Groupの
HTML Validation: Using Character Encodings http://www.htmlhelp.com/tools/validator/charset.html で
翻訳許可を受けています。翻訳版は、翻訳からくる間違いがあり得ます。

Yasutaka Kato 加藤泰孝
<email:y.kato@personal.email.ne.jp>
<email:ykato-ind@umin.ac.jp>