読者です 読者をやめる 読者になる 読者になる
一人もくもく会 α verでサービス開始しました。

php.iniによるサーバー変更時におこるPOST,GETの文字化け対策

php

サーバーを変更した時にmbstring関係の設定は正しいはずなのに、
POSTやGETだけが文字化けしてしまう時がある。
他の部分はちゃんと動いているのに。

POSTやGET関連のmbstring設定はいくつかあるが、
これらが関連している。

原因は、設定のタイミング。

プログラム内でini_setとかで設定しても修正できない。
なぜなら、POSTやGETの代入はプログラムが開始される前に起きていることだから。

なので、プログラム内では設定せず、
.htaccessphp.iniで設定しよう。

.htaccessの場合は

php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_input auto
php_value mbstring.http_output pass
php_flag mbstring.encoding_translation Off

みたいな感じで。