PHP は、デフォルトでレスポンスヘッダーの Content-Type に文字コードに UTF-8 が出力されます(PHP5.3.3で動作確認)。ですが、文字コードは明示的に指定した方がよいでしょう。
Content-Type に文字コードを出力するには、php.ini で設定して全体に設定を反映させる方法と、各ページで設定する方法があります。
全体に反映させるには、php.ini に以下のように記述します。
default_charset = "UTF-8"
Apache を再起動します。
# service httpd restart
この状態で、PHP のページにアクセスすると、Content-Type は以下のようになります。
Content-Type:text/html; charset=UTF-8
各ページで文字コードを指定する場合は、以下のように記述します。
header("Content-type: text/html; charset=utf-8");
php.ini で、default_charset=”Shift-JIS”に指定しましたが、Content-Type は問題なく UTF-8 で出力されていることが確認できます。
Content-Type:text/html; charset=utf-8
コメント