takuzy
フォーラムへの返信
-
フォーラム: プラグイン
返信が含まれるトピック: ContactForm7 & MobileEye で携帯からメールフォームに入力するとメールが文IKEDA Yurikoさん。回答ありがとうございます。
これを On にすると、他の部分で文字化けする可能性が大です。例えば、コメントフォームの入力が化けたりする可能性があります。特に、「半角カナのみ」を入れた場合に EUC-JP と誤認してしまい、それを UTF-8 に変換しようとして変なことが起こりそうです。
上記ご指摘を受けまして
mbstring.encoding_translation On
の状態で
半角カナのみを使用して下記の動作検証をしてみました。
・PCからContactForm7で作成したメールフォーム画面に入力して送信されたメールを見る
・PCからWordpressの記事のコメント欄に入力してコメントを見る
・携帯からWordpressの記事のコメント欄に入力してコメントを見る
・携帯からContactForm7のメールフォーム画面に入力して送信されたメールを見る
結果はすべてにおいて、文字化けしたり不具合が起きることはありませんでした。自動変換に頼らず、フォームを受け取る部分で「
is_mobile()
が true ならば文字コードを変換する」というコードを追加した方が安全です。当方、PHPはやったことがなくまったくの素人です。
具体的にはどこのファイルにどんなコードを入れればいいのでしょうか?
大変恐れ入りますが、ご教授いただければ幸いです。
よろしくお願いいたします。フォーラム: プラグイン
返信が含まれるトピック: ContactForm7 & MobileEye で携帯からメールフォームに入力するとメールが文tenpuraさん。回答ありがとうございます。
ご指摘いただいた.htaccessのmbstring.encoding_translation On
の記述ですが
On → Offにしてみたところ文字化けが再現しました。
(携帯からContactForm7のメールフォーム画面に入力して送信したメールが文字化けします。)
現在はOnに戻しています。
今後は教えていただいたコンフリクトの可能性とリスクを意識しておこうと思います。
ありがとうございました。フォーラム: プラグイン
返信が含まれるトピック: ContactForm7 & MobileEye で携帯からメールフォームに入力するとメールが文ご回答ありがとうございます。
Takayuki Miyoshiさん、IKEDA Yurikoさん
回答ありがとうございました。
Takayuki Miyoshiさんからいただいた回答この状況から推測すると mbstring.http_input に関係がありそうな気がします。
をヒントに調べたところ.htaccessに下記を追記することで解決しました。
<IfModule mod_php4.c>
php_flag output_buffering Off
php_value output_handler none
php_value default_charset UTF-8
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output UTF-8
php_value mbstring.internal_encoding UTF-8
php_value mbstring.substitute_character none
</IfModule>
大変助かりました。
ありがとうございました。