追記なのですが、phpmailerでメールを送信する際に、内部エンコードのutf-8を
$mail->FromName = mb_encode_mimeheader(mb_convert_encoding($mail->FromName,”ISO-2022-JP”,”UTF-8″));
$mail->Subject = mb_encode_mimeheader(mb_convert_encoding($mail->Subject,”ISO-2022-JP”,”UTF-8″));
$mail->Body = mb_convert_encoding($mail->Body,”ISO-2022-JP”,”UTF-8″);
というかたちで、ISO-2022-JPに変換しているのですが、ktai STYLEを使用した際には、変換がうまくいっていないのか、変換プロセスが途中で止まっているようです。
試しに、上記を、
$mail->FromName = mb_encode_mimeheader(mb_convert_encoding($mail->FromName,”ISO-2022-JP”));
$mail->Subject = mb_encode_mimeheader(mb_convert_encoding($mail->Subject,”ISO-2022-JP”));
$mail->Body = mb_convert_encoding($mail->Body,”ISO-2022-JP”);
などとしてみたりもしたのですが、だめでした。
多分、ktai styleの内部エンコードとメール用のエンコード変換が当たっているのだろうと思うのですが、詳細が分かりません;
他のフォーム(contact form7)でもやはりダメでした。
弱りました(T_T)…
Ktai Style 作者です。
ktai styleで携帯サイトにして、こちらの問い合わせフォームから携帯電話で問い合わせフォームを送信すると、メールが文字化けしてしまいます。
Ktai Style はすべての出力を Shift_JIS に変更しますので、コンタクトフォームの送信結果も、多くの場合 Shift_JIS で返されます。しかし、コンタクトフォームのプラグイン側が、Shift_JIS での返答に対応していないため、化けてしまいます。
これは、Ktai Style 側が対応すべき問題なのか、コンタクトフォーム側が対応すべきなのか悩むところですが、現状では「あるべき実装方法」を模索している段階です。
とりあえず、$_POST を処理する手前で、is_ktai()
関数が存在すれば Shift_JIS から UTF-8 への変換を行なう、という処理を入れてみてください。
lilyfan様
ありがとうございます。
やってみます。
>とりあえず、$_POST を処理する手前で、is_ktai() 関数が存在すれば Shift_JIS から UTF-8 への変換を行なう、という処理を入れてみてください。
phpmailerが使用されているようなのですが、これがややこしくて;;;
「$_POST を処理する手前」ここがどこなのかさっぱり?です。
ちょっとがんばってみます!
「$_POST を処理する手前」ここがどこなのかさっぱり?です。
当該プラグインのどこかで $_POST を読み出している箇所があるはずです。ソースコードを探してみてください。少なくともメール送信処理よりはだいぶ手前のはずです。