PHPスクリプトの文字コードについて。
PHPスクリプトに使用できる文字コード
PHPのスクリプトに使用できる日本語の文字コードは、「EUC-JP」と「UTF-8」です。
「シフトJIS」や「UCS-2」は使用できません。
ただしPHPの構築時に、オプションとして「–enable-zend-multibyte」を指定すれば、「シフトJIS」や「UCS-2」を使用することができるようになります。
国内のサーバーであれば、「–enable-zend-multibyte」は有効になっていると思いますが、環境によって使用できない可能性のある「シフトJIS」や「UCS-2」よりも、確実に使用できる「EUC-JP」や「UTF-8」を使用した方が良いと思います。
PHPスクリプトの文字コードの指定
PHPスクリプトの文字コードの指定するには、いくつかの方法があります。
- 設定ファイル(php.ini)の「mbstring.script_encoding」で指定する。
シフトJISを指定する例
mbstring.script_encoding=sjis-win
複数の候補の中から自動検出する例
mbstring.script_encoding=sjis-win,eucjp-win,ascii
mbstring.languageの設定から自動検出する例
mbstring.script_encoding=auto
- PHPスクリプト内で、「declare(encoding=文字コード)」で指定する。
EUC-JPを指定する例
declare(encoding="EUC-JP");
-
PHPスクリプトにBOMを付加する。(Unicode限定、PHP5以降?)