PHP mail()UTF-8字符(ąčęėįšųūž)

时间:2012-01-21 23:46:04

标签: php email encoding utf-8

我知道这里有很多解决方案,但似乎没有什么对我有用。

$headers = 'From: '.$HOST_EMAIL."\r\n" .
    'Reply-To: ' .$HOST_EMAIL. "\r\n" .
    'X-Mailer: PHP/' . phpversion() . "\r\n" .
    'MIME-Version: 1.0' . "\r\n" . 
    'Content-type: text/html; charset=utf-8' . "\r\n".
    'Content-Transfer-Encoding: 8bit';        
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $body, $headers);

信息来自主题中的“Slaptaþodþioprisiminimas”(þ而不是ž)和“Paspauskite i nuodod ,kadpasikeistum teslapta od :nuoroda”,而不是邮件正文中的其他立陶宛字母。

2 个答案:

答案 0 :(得分:2)

尝试

"=?UTF-8?B?".base64_encode($subject)."?="."\r\n"

答案 1 :(得分:0)

如果您使用像phpmailer这样的邮件程序类,那么此问题和将来邮件问题的最简单解决方案就是。内置邮件功能与当今的电子邮件标准不兼容,缺乏功能(如您所见)。 Afaik phpmailer也非常支持utf8和其他编码。