ユーザーの入力内容だけが文字化けしてテンプレートのテキスト(“担当者名” 等)は文字化けしていないということですか?
ご返信ありがとうございます!
はい。
ユーザーの入力部分のみ文字化けしています。
fileタグを付けないと文字化けはしないのですが、
何が原因なのでしょうか。。
対処法などご教示頂ければ幸いです。
実際のサイトを確認したいので URL を教えてください。比較のため file フィールドのあるフォームのページとないフォームのページを用意していただけると助かります。
ご返信が遅くなり、すいません。
ありがとうございます!
フォームだけ表示したページを用意いたしました。
※実際に使用する項目とは別のフォームを用意しました。
【file フィールドあり】
https://willport-t.com/testform01/
【file フィールド無し】
https://willport-t.com/testform02/
上記フォームで送った場合、file フィールドありのフォームでは、
下記のメールが送られてきます。
———-
差出人: ??????????????? <XXXXXXXXX@example.com>
題名: ?????????
メッセージ本文:
?????????
———-
お手数をおかけいたしますが、
ご確認頂ければ幸いです。
Contact Form 7 以外のすべてのプラグインを無効化してテーマをデフォルトのテーマ(twentyseventeen)に戻した状態で再度試してみてください。
ありがとうございます。
Contact Form 7以外のプラグインを無効にし、
テーマをtwentyseventeenに変更したのですが、やはり文字化けがでてしまいます。。
文字化けは送信されたメールのみでしょうか。
実際にデータは文字化けせずに入っていますか。Contact Form DB (https://ja.wordpress.org/plugins/contact-form-7-to-database-extension/installation/)などのプラグインで、Contact Form 7 に投稿されたデータを見ることができます。
これで文字化けしている添付ファイル付きの方でもデータが文字化けしていないなら、メールのエンコードの問題になってきますね。
文字化けするメールとしないメールそれぞれのメールヘッダーにある
Content-Type: text/plain; charset=◯◯
の項目の◯◯をチェックしてみてください。 いろいろ設定されたということですので utf-8 (UTF-8) になっているはずです。
またお使いのサーバーのPHP設定で、
mbstring.internal_encoding = UTF-8 でない設定(EUC-JPとか)の場合には文字化けが起こる可能性もありますので、そのあたりの修正をしてみることでしょうか。
しかし 添付ファイルを付けるときだけ、メッセージが文字化けするのはおかしいですよねぇ。
ありがとうございます。
上記確認したところ、
サーバー側の設定でした。
.htaccessに
php_flag mbstring.encoding_translation off
と記載したところ、文字化けせずにメールがおくれました。
takayukister様、
kimipooh様、
いろいろとご教示頂きありがとうございました。