日本語のマルチバイト文字に関する基本事項
日本語の文字は、マルチバイトエンコーディングを使用しないと表せません。
また、プラットフォームや使用目的によって複数の標準エンコーディングが
使い分けられています。さらに悪いことに、
これらの複数の標準エンコーディングはそれぞれ微妙に異なります。
日本語環境で使用しやすいウェブアプリケーションを作成するには、
これらの複雑な問題を考慮した上で
適切な文字エンコーディングを使用しなければなりません。
-
1 文字は最大 6 バイトになる
-
ほとんどの日本語マルチバイト文字は、シングルバイト文字の
2 倍の幅となります。これらの文字のことを、日本語では
"全角 (zen-kaku)" と呼びます。これは、
"full width" という意味です。一方、幅の狭い文字のことは
"半角 (han-kaku)" と呼びます。これは、
"half width" という意味です。しかしながら、
文字の見た目は、それを表示する際に使用するタイプフェイスに依存します。
-
いくつかの文字エンコーディングでは、ISO-2022 で定義されたシフト
(エスケープ) シーケンスを使用して、特定のコード範囲
(00h から 7fh まで)
のコードマップを切り替えます。
-
SMTP/NNTPでは、ISO-2022-JP を使用する必要があり、ヘッダとエンティティは
各 RFC の規定に基づき再度符号化される必要があります。
これらは必須のものではありませんが、多くの一般的なユーザーエージェントは、
他の符号化手法を認識できないため、行っておく方が良いでしょう。
-
» i-mode または
» EZweb
のような携帯電話サービス用に作成された Web ページは、
Shift_JIS を使用することになります。
-
PHP 5.4.0 以降では、
» i-mode
や » EZweb
などの携帯電話サービスで使われる絵文字に対応します。