[PHP-users 32967] Re: PHP4.4.2で不確定な文字化け

Atsushi NAGAI nagai @ asahi-pj.co.jp
2007年 12月 5日 (水) 14:49:34 JST


こんにちは、永井です。

From: KUBO Tetsuro <kubo @ calico.co.jp>
Date: Mon, 03 Dec 2007 20:03:51 +0900
Subject: [PHP-users 32958] Re: PHP4.4.2で不確定な文字化け

 | 直接的な解法ではありませんが、まずは日本語を扱う基本として
 | 
 | > mbstring.http_input auto -> passに変更
 | > mbstring.http_output auto -> passに変更
 | 
 | してみてはいかがでしょう。両方ともPHP_INI_ALLです。PHPのアテにならないauto
 | 判定がなくなり、自分が意図した文字コードで処理できます。

この設定を行い、マルチバイト関数を一切使わないように
してみました。
また、出力のバッファリングもしないようにしました。

結果、現象は変わりありませんでした。

・ソースが EUC で、EUC の DB からデータを取得し、
 EUC のテンプレートに埋め込んで、そのまま出力する。
 ・・・という、コード変換一切なしのロジックで、
 テンプレート直書きの日本語とソースに定数として
 持っていてテンプレートに埋め込んだ日本語だけが
 文字化けすることがある。DBから取得して
 テンプレートに埋め込んだ日本語は化けない。

・傾向として、長時間経過後のアクセスやソース修正後の
 アクセスで現象が発生しやすいようだ。

ちょっとした設定ミスかな、と思っていたのですが、
根が深いようですので、サーバ業者に相談してみます。

# 現象発生の傾向から、MMCacheがらみかな、などと
# 疑ってますが、そのへんも含めて相談してみます。

回答下さった方々、ありがとうございました。

-- 
Atsushi NAGAI <nagai @ asahi-pj.co.jp>



PHP-users メーリングリストの案内