日本語のホームページの中に、ブラウザによっては文字化けを起こすものが少なくありません。そんなトラブルを防ぐ意味でも言語設定は必須です。
ISO-2022-JP
ASCII
コードと同等の7ビットコードとして設計されています。 (メールを中継するSMTPは、もともと ASCII
コードを通すことだけを念頭に置いていたため、7ビット仕様になっていました。) 「JIS
コード」と呼ばれている文字セットは、もっぱらこれを指しています。ISO-2022-JP
は JIS
そのものではなく、ASCII
と JIS X 0201
のローマ字と JIS X 0208
の1978年版と1983年版を切り替えて使う方法を指しています。JIS
にもたくさん種類があるわけです。Shift_Jis
ISO-2022-JP
は、7ビット+7ビットの構成になっているのですが、この Shift_Jis
は半角カナ文字などを収めるため、8ビット+8ビットの構成に振り直してあります。「JIS
コードの表上の位置をずらしてつくったコード」という意味で、シフトJIS
の名があります。SMTP
の機能拡張版である ESMTP
は問題なく8ビットコードを通しますが、SMTP
は7ビットコードしか通さないので、8ビットコードを7ビットコードに書き直さないかぎりメールの文字情報が欠落することになります。このため、電子メールでは ISO-2002-JP
が一般的に用いられています。EUC-JP
UNIX
上で日本語を扱うために開発された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」
への移行がなされないようです。