encoding_translationはやっかいだ

クライアントから文字コードUTF-8でメールフォームのページを作ってくれ、と言うことでPHPでざくっと制作。
セキュリティ上こちらはサーバにアクセスできないので、ファイルをあずけてアップロード~テストはクライアントに確認してもらい、OKが出たのでひとまずそのまま公開。
ところがしばらくして、日本語を送信すると文字化けするとのお知らせが入る。

まあmbstring系の問題だろう、とphp.iniの設定を依頼してもらったところこんな設定になっていましたと。

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On


PHPのマニュアルにも同じような設定が載っているので、おそらくそれに合わせたんじゃないかと思われますが、、
これではencoding_translationでパラメータがEUCに自動変換されちゃって、UTF-8を想定して書かれたコードでは化けるわけです。

コードの記述を制限してしまうencoding_translationなんて効かしておく必要ありますかね?
自動変換されるより、自分で文字コード意識しながら書いたほうがよっぽど分かりやすい。

結局、.htaccessを追加で上げてもらって、とりあえず文字化けは解決しました。

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

関連記事

トラックバック(0)

このブログ記事を参照しているブログ一覧: encoding_translationはやっかいだ

このブログ記事に対するトラックバックURL: http://blog.knockoutmarch.com/mt3/mt-tb.cgi/81

コメントする

このブログ記事について

このページは、ko31が2007年11月30日 23:59に書いたブログ記事です。

ひとつ前のブログ記事は「UTF-8のBOMに苦しむ」です。

次のブログ記事は「XREAでCodeIgniterにPostgreSQL接続」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

RSSフィード

  • 購読する

いろいろ

あわせて読みたい

フィードメーター - ポップフライ

seo

Powered by Movable Type 4.01