
305
20
章
国際化とローカライゼーション
*1
「2.1 テキスト」で述べたように、PHP での文字列はバイトの連続です。1 バイトは最大256 個
の値を取ることができます。そのため、英語の文字(US-ASCII 文字セット)だけを使うテキスト
を PHP で表すのは簡単ですが、日本語を含む他の種類の文字を含むテキストを適切に処理するに
は一工夫が必要です。
Unicode 標準は、使用できる無数の文字をエンコードする方法を定めています。Unicode標準
には、ä、ñ、ž、
λ
、
、 、ドなどの文字に加え、さまざまな記号やアイコンも含まれています。
UTF-8 エンコーディングはどのバイトがどの文字を表すかを定めています。簡単な英語の文字は
1 バイトだけで表されます。しかし、他の文字には 2、3 あるいは 4 バイト必要なものもあります。
PHP は、標準で UTF-8 エンコーディングによるテキスト処理をサポートしています。
default_
charset
構成変数は使用するエンコーディングを制御し、そのデフォルト値は
UTF-8
です。問題が
あったら、
default_charset
が
UTF-8
に設定されていることを確認してください。
歴史的な理由により、日本語では複数のエンコーディングが使用されています。Unicode の普及
により、Web アプリケーションにおける主流は UTF-8 となっていますが、Windows および Mac-
OS 環境では Shift_JIS、メールでは ISO-2022-JP ...