PHP で韓国語を含むメールの文字化けを直すには?

ショコラ
ショコラ

PHP で韓国語を含むメールの文字化けを直すには?

BASE64でキメマス。
〔ポイント〕
①mb_language(‘uni’);
②$body = base64_encode($body);
③$headers[‘Subject’] = mb_encode_mimeheader($subject);
④$headers[‘Content-Transfer-Encoding’] = ‘BASE64’;
⑤$headers[‘Content-Type’] = ‘text/plain; charset=”utf-8″‘;

もっさん先輩
もっさん先輩

以下のソースが開発のヒントになるはずです。

mb_language('uni');
$body = base64_encode($body);
$headers['Subject'] = mb_encode_mimeheader($subject);
$headers['Content-Transfer-Encoding'] = 'BASE64';
$headers['Content-Type'] = 'text/plain; charset="utf-8"';

$mail_object = Mail::factory('smtp',$params);
$result = $mail_object->send($recipients,$headers,$body);

シチュエーション

メールを送信したら、文字化け(「・」が「繝サ」に変換される等)が起こった。あるメーラーでは文字化けしているのに、WEBメールだと正しく表示される。この現象は「Content-Type」が設定されていない可能性が高いです。

Scroll to Top