日本語のホームページの中に、ブラウザによっては文字化けを起こすものが少なくありません。そんなトラブルを防ぐ意味でも言語設定は必須です。
ISO-2022-JPASCIIコードと同等の7ビットコードとして設計されています。 (メールを中継するSMTPは、もともと ASCIIコードを通すことだけを念頭に置いていたため、7ビット仕様になっていました。) 「JISコード」と呼ばれている文字セットは、もっぱらこれを指しています。ISO-2022-JPは JISそのものではなく、ASCIIと JIS X 0201のローマ字と JIS X 0208の1978年版と1983年版を切り替えて使う方法を指しています。JISにもたくさん種類があるわけです。Shift_JisISO-2022-JPは、7ビット+7ビットの構成になっているのですが、この Shift_Jisは半角カナ文字などを収めるため、8ビット+8ビットの構成に振り直してあります。「JISコードの表上の位置をずらしてつくったコード」という意味で、シフトJISの名があります。SMTPの機能拡張版である ESMTPは問題なく8ビットコードを通しますが、SMTPは7ビットコードしか通さないので、8ビットコードを7ビットコードに書き直さないかぎりメールの文字情報が欠落することになります。このため、電子メールでは ISO-2002-JP が一般的に用いられています。EUC-JPUNIX上で日本語を扱うために開発された8ビットコードです。HTTPサーバの多くは UNIXで動いているので、CGIプログラム等で日本語を処理する際にこれが使われます。IANA(Internet Assigned Number Authority) という組織が行っています。IANAはインターネット上で利用されるアドレス資源(IPアドレス、ドメイン名、ポート番号など) の標準化や割り当てを行っていた ISOCの下部組織で、現在は ICANNの下部組織へと位置付けが変更されています。実際の業務は引き続き各国の下部組織が担当しています。IETFにおける RFC1468 による日本語文字コード事項です。
[RFC1468,Murai]
Name: ISO-2022-JP (preferred MIME name)
MIBenum: 39
Source: RFC-1468 (see also RFC-2237)
Alias: csISO2022JP
Name: Shift_JIS (preferred MIME name)
MIBenum: 17
Source: A Microsoft code that extends csHalfWidthKatakana to
include kanji by adding a second byte when the value
of the first byte is in the ranges 81-9F or E0-EF.
Alias: MS_Kanji
Alias: csShiftJIS
Name: Extended_UNIX_Code_Packed_Format_for_Japanese
MIBenum: 18
Source: Standardized by OSF,
UNIX International, and UNIX Systems
Laboratories Pacific. Uses ISO 2022 rules to select
code set 0: JIS Roman (a single 7-bit byte set)
code set 1: JIS X0208-1990 (a double 8-bit byte set)
restricted to A0-FF in both bytes
code set 2: Half Width Katakana(a single 7-bit byte set)
requiring SS2 as the character prefix
code set 3: JIS X0212-1990 (a double 7-bit byte set)
restricted to A0-FF in both bytes
requiring SS3 as the character prefix
Alias: csEUCPkdFmtJapanese
Alias: EUC-JP (preferred MIME name)
head要素内で設定します。自分が使う文字セットを選び、下記サンプルのように記述します。一般的なパソコンであれば「shift_jis」を採用しています。これが UNIX系OSなると「euc-jp」となります。HTMLファイルをどの符号化方式 (character encordings) に従がい、記述の仕方によって、読み込む側もそれに合わせる必要があります。HTMLファイルを書いて、公開している責任をとる意味でも、この文字コードを必ず指定するようにしましょう。 (通常はユーザエージェントが自動的に認識します)「x-sjis」というのを見かけます。「shift_jis」が本来なのですが、この違いはありませんが、正式には「shift_jis」です。「x-jis」は、Netscape Navigater 2.0 で採用されていたため、後者が普及してしまい、本来規定されている「shift_jis」の存在が小さくなってしまいました。Netscape のシェアは激減しているにもかかわらず、未だにこの状況は変わっていません。現在のブラウザは両方認識することもあって、なかなか「shift_jis」への移行がなされないようです。