die、exitで日本語が化ける
単純に
die('DBにアクセスできません。');
と書いたとすると、ある環境で表示できたとしても、別の環境では化けたりします。文字コードを指定していないので、当然と言えば当然です。
英数字だけのメッセージにするという手もありますが、日本語等Ascii文字以外を使いたい場合は、HTTPのレスポンスヘッダで文字コードを指定すればいいかと。dieやexitのたびに指定するのは面倒なので、関数にします。
function abort($status=0) {
if (is_string($status) && !headers_sent()) {
header('Content-Type: text/plain; charset=UTF-8');
}
die($status);
}
とりあえずこれで、Firefox3.6、IE8では表示できました。
2010/10/10 14:28:58更新
最終更新:2010年10月10日 14:28