ショコラ
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」が設定されていない可能性が高いです。