2010年3月15日

ファーストサーバで、PHPフォーム

投稿者: 管理者

ファーストサーバで、PHPフォームを設置しようと、文字化けの件で奮闘したときのメモ。
鯖は、ギガント。

PHP Version 5.2.11
mbstringの初期値

mbstring.detect_order = auto
mbstring.encoding_translation = On
mbstring.func_overload = 0
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.internal_encoding = EUC-JP
mbstring.language = Japanese
mbstring.substitute_character = “設定値なし”

『header関数を一番先頭行に』もってきて、

header(“Content-Type:text/html; charset=UTF-8”);
ini_set(“mbstring.internal_encoding”,”UTF-8″);
mb_language(“uni”);
mb_internal_encoding(“UTF-8”);

ちゃんと送信は完了するが・・・やはり化ける。

htaccessで制御するしかないとのことで、
・mbstring.encoding_translationをOffにする

・Offにするときはphp.iniを変更するか、php.iniが変更できないときはhttpd.confか.htaccessで設定。
レンタルサーバだとhtaccessしかない。

php_flag mbstring.encoding_translation off
php_value default_charset “UTF-8”

う〜ん・・・化けるという前に、鯖エラー。

よく仕様を調べると、

PHPを利用する際に、.htaccessでサーバの挙動を制御することは可能です。
「.htaccess」での設定変更は、PHP5(DSO版) でのみ有効

とかいてある。

で、そのとおりにやると、なんということでしょう!
うまくいったじゃないですか。

DSO版、Apacheの内蔵モード(モジュール)で動作させないとダメということか!
まだまだ修行が足りないボクです。