• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Mb_Send_mailで文字化け)

Mb_Send_mailで文字化け

このQ&Aのポイント
  • 外部のテキストファイル(EUC)のメールテンプレートを読み込んでMb_Send_mailでメール送信するプログラムを使っているのですが、文字化け問題が発生しています。
  • 必ずというわけではないので、原因がわかりません。PHPのバージョンは4.3.10で、PHPのソースはSJISです。レンタルサーバ側の設定はコードコンバートなどのオプションはOFFにしています。
  • メール内容に動的に日本語を入れているわけではないので、同じ内容が文字化けしたりしなかったりすることに悩んでいます。ヒントをいただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • sisya
  • ベストアンサー率39% (97/244)
回答No.1

元の分と化けた文面などがあると、 どう受け取ってどう化けてしまったのかが判りやすいと思います。 文字化けの原因のほとんどは使用する文字コードが間違っているか 変換前の文字コードを間違えているかだと思います。 「何回かに一回」との事なので、 同じ文面では少々考え辛いですが、 php側で文字コードを判断する時に間違えているのではないかと思いますので、 色々変換を試してみて、結果を見てみる事をお勧めします。 参考までに、下記のコードではどのような化け方をしますでしょうか? $mail_msg = mb_convert_encoding($mail_msg, "JIS", "EUC, SJIS"); return mb_send_mail($whom, $mail_sub, $mail_msg, $mail_hed);

manta_matutoya
質問者

お礼

返信ありがとうございました。 いろいろ試しているうちに、 mb_internal_encoding ("EUC-JP"); を追加したら、なぜか治ったようです。 いまいちピンとこないですね。。 化け方は日本語が???????とはてながいっぱいになってしまっていました。 とりあえず、今は文字化けが治りました。丁寧な返答ありがとうございました。

関連するQ&A