2008年2月10日日曜日

mbstring.encoding_translationは PHPのスクリプト内でセットできない

php.iniの設定の話。
mbstring.encoding_translationは勝手にインプットデータの文字コードを変換してしまうので、文字化けの原因になることがある。

その場合には、mbstring.encoding_translationをOffにして、各インプットデータをmb_convert_encoding()で変換すれば文字化けを解消できるが、mbstring.encoding_translationはPHPのスクリプト内で設定できない。(参考:PHP: php.ini ディレクティブ - Manual

php.iniではOnになっているmbstring.encoding_translationをOffにするには、Apacheのhttpd.confか、.htaccessでOffになるよう指定する必要がある。

httpd.confでセットする例
<IfModule mod_php5.c>
<Location "/url_path">
php_value mbstring.encoding_translation Off
</Location>
</IfModule>

0 件のコメント:

コメントを投稿