2011年5月28日土曜日

PHPの文字化けとphp.iniとhtaccessとCGI版とか

こんにちは、モリモルです。

PHPですでに動いているサイトを
別サーバーに移行したときに、文字化けで困った対応メモ。

■問題点
フォームに入力した文字が確認画面で文字化けする。

■解決方法

http://www.beny.to/2008/05/mbstringencoding-translationon.html

おお、これだ!
「mbstring.encoding_translation」は「Off」にすればいいのね。

「mbstring.encoding_translation」は
ini_set()で変更できないのか、php.iniかhtaccessでやるのか。


htaccessだと、
「mbstring.encoding_translation Off」て書くのね。

あれれ、、htaccessで「Internal Server Error」が。。

CGI版PHPを利用する場合、.htaccessにて"php_value"、"php_flag"を利用して PHPの各種設定ができないんだ。

phpinfo();でみると、「Server API」項目が「CGI」じゃん。
ああ、このレンタルサーバーはCGI版なのですね。

お、CGI版だと、php.iniを設置できるのか。


「mbstring.encoding_translation 0」と書いたphp.iniを置いたら文字化けが解消されました。


試してないけど、htaccessで、php.iniの場所を指定できるみたい。
--------------------------------------------------------------
suPHP_ConfigPath /usr/home/morimoru/html/


以上、メモだからいいや。