last modified 5th/Oct. 2000
META 要素は HEAD 要素の直接の子供要素です。文書の内容に関係する情報や検索ロボットの挙動などを指示できます。
<!ELEMENT META - O EMPTY -- generic metainformation --> <!ATTLIST META %i18n; -- lang, dir, for use with content -- http-equiv NAME #IMPLIED -- HTTP response header name -- name NAME #IMPLIED -- metainformation name -- content CDATA #REQUIRED -- associated information -- scheme CDATA #IMPLIED -- select form of content -- >
META 要素は開始タグのみで終了タグが存在しません。このような要素の事を空要素 (Empty Element) と呼びます。
<head> <meta http-equiv="content-type" content="text/html; charset=iso-2022-jp"> <!--文書タイプと文字コード; HTML, JIS (ISO-2022-JP) --> <meta http-equiv="content-style-type" content="text/css"> <!--標準的に利用するスタイルシートの種類; CSS --> <meta http-equiv="content-script-type" content="text/javascript"> <!--標準的に利用するスクリプトの種類; JavaScript --> <meta name="author" content="SUGAI, M."> <!--Page 記述者; SUGAI,M.--> <title>タイトル</title> </head>
文字コードcharset の指定* |
<meta http-equiv="content-type" content="text/html; charset=charser名"> |
---|---|
文書内でjavascriptを用いている場合 | <meta http-equiv="content-script-type" content="text/javascript"> |
文書内でcssを用いている場合 | <meta http-equiv="content-style-type" content="text/css"> |
文書製作者 | <meta name="author" content="制作者名"> |
文字の符号化方法は、本来は WWW サーバ間の HTTP ヘッダの charset パラメタで識別されるはずのモノです。
が、正しくヘッダを返せないサーバがあるので、文字化けが起こります。ユーザが明示的に文字セットを指定する方法は、二つ。
.htaccess
を HOME ディレクトリに置く。
ISO-2022-JP
(JIS) をcharsetパラメタとして指定する場合、AddType "text/html; charset=ISO-2022-JP" html
html
のファイルに対して charset パラメタの値が ISO-2022-JP であると指定されます。
XHTML 1.0 (XML 1.0) では、 UNICODE 以外の文字セットを利用する場合は、 META による文字コードの指定が必須です。
文字符号化スキーム | charset名 | 補足 |
---|---|---|
ISO-2022-JP(RFC1468) | ISO-2022-JP | JISコード。メール、ニュースは普通これ。 |
日本語EUC(圧縮形式) | EUC-JP | UNIX用の日本語文字セット。(Extended UNIX Code packed format for Japanese) |
シフトJIS | Shift_JIS | 主にパソコン; Windows、Macintosh で用いられている拡張 JIS。 |
UNICODE | UTF-8, UTF-16 | 今後普及するであろう文字セット。 |
charset 名(文字セット名、文字符号化方法、文字コードの種類)は大文字・小文字は区別されません。
例えば、 Windows で文字セットを指定しないで保存したテキストファイル(HTML ファイル)の文字セットは Shift_JIS
です。しかし、サーバへの転送過程で、自動的に EUC-JP
コード変換するサーバも有りますので、転送したファイルの文字化けが解消できない場合は、文字セットを確認してください。
Shift_JIS
は x-sjis
とも書きますが、これは Netscape の独自拡張です。 Netscape 2.x などの古いブラウザに理解させるために、 x-sjis
を用いた方が無難かもしれません。逆に、古いブラウザは Shift_JIS
と云う文字コード名を解釈できず、これが指定された文書を強制的に JIS で解釈しようとする結果、文字化けが起こります。
古いブラウザへの配慮から、文字コードは JIS (iso-2022-jp) か EUC-JP を利用するべきです。やむを得ず Shift_JIS を利用する場合は、文字コードを指定する META タグは指定しない方が良いでしょう。
META タグで文字セットを指定する場合、符号化された文字(日本語)が現れる前に書いておかねばなりません。特に、 TITLE
要素や META name="keywords"
には日本語を用いるでしょうから注意が必要です。 HEAD 要素の一番最初に書いておくことをお勧めします。