Margy Mutoh
margy****@roseb*****
2005年 8月 21日 (日) 18:27:05 JST
こんにちは。Margyです。 ご報告がてら自己レスです。 Tep-jの過去ログを読んでいたところ、 > Directive Local Value Master Value > -------------------------------------------------------- > mbstring.detect_order no value no value > mbstring.encoding_translation Off Off > mbstring.func_overload 0 0 > mbstring.http_input pass pass > mbstring.http_output pass pass > mbstring.internal_encoding no value no value > mbstring.language neutral neutral > mbstring.substitute_character no value no value > ------------------------------------- 原因はここの設定かな、という気がしました。 レンサバなので、.htaccessで変えてみようということで、 osCommerceのインストールマニュアルや、過去ログの http://lists.sourceforge.jp/mailman/archives/tep-j-general/2004-July/013812.html ↑こちらの前後の発言を参考に、.htaccessを変えてみて、 > ■ソース > <?php > $test="日本語エンコーディングテスト"; > print "$test (" . mb_detect_encoding($test) . ")<br>"; > print ("mbstring.http_input=". mb_http_input() ."<br>"); > print ("mbstring.http_output=". mb_http_output() ."<br>"); > print ("mbstring.internal_encoding= ".mb_internal_encoding()."<br>"); > ?> これで結果を出力すると同時に、contact_us.phpでのメール送信 テストを繰り返しました。下はその結果です。 --------------------------------------------- ■設定1(上に提示のデフォルト) ■結果1 日本語エンコーディングテスト (UTF-8) mbstring.http_input= mbstring.http_output=pass mbstring.internal_encoding= ISO-8859-1 ■subject/fromの化け 直らず --------------------------------------------- ■設定2 php_flag output_buffering On php_value output_handler mb_output_handler php_value default_charset EUC-JP php_value mbstring.language Japanese php_flag encoding_translation On php_value mbstring.http_input auto php_value mbstring.http_output EUC-JP php_value mbstring.internal_encoding EUC-JP php_value mbstring.substitute_character none ■結果2 日本語エンコーディングテスト (EUC-JP) mbstring.http_input= mbstring.http_output=EUC-JP mbstring.internal_encoding= EUC-JP ■subject/fromの化け 直らず --------------------------------------------- ■設定3(設定2の以下の行だけを差し替え) php_value mbstring.http_input ASCII ■結果3 日本語エンコーディングテスト (EUC-JP) mbstring.http_input= mbstring.http_output=EUC-JP mbstring.internal_encoding= EUC-JP ■subject/fromの化け 直らず --------------------------------------------- ■設定4(設定2の以下の行だけを差し替え) php_value mbstring.http_input SJIS ■結果4 日本語エンコーディングテスト (EUC-JP) mbstring.http_input= mbstring.http_output=EUC-JP mbstring.internal_encoding= EUC-JP ■subject/fromの化け 直らず --------------------------------------------- …というように、ちっとも直りません(T-T;) mbstring.http_input= がずっと空白のままなのも気になりますが… それで、php4.4.0とmbstringでググってみたら、こんなのが出てきました。 http://ns1.php.gr.jp/pipermail/php-users/2005-July/026701.html このスレッドを読んでいくと、「PHP4.4.0のmb_send_mail関数のバグでは ないか?」という話がありました。 そうだとすると、そのバグが修正されるまで対策はないのでしょうか? とりあえず、「日本語の先頭に全角スペースを入れる」の回避策を とりました。 これでなんとか取り繕えてますが、根本的な解決にはなってないので、 なにかご存じの方がおいででしたら、引き続きご指導よろしくお願い いたします。m(_ _)m Margy Mutoh