我正在使用php charset=utf-8
发送电子邮件。
请检查我的代码:
<?php
function sendEmail($to,$from,$subject,$message){
$message = "<table><tr><td>".$message."</td></tr></table>";
$bcc1 = "c*******@gmail.com";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers.= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers.= 'From:' .$from."\r\n";
$headers.= 'BCC:' .$bcc1."\r\n";
if(mail($to,$subject,$message,$headers)){
echo "Email sent";
}
else{
echo "Email failed";
}
}
$getSettings = mysql_fetch_assoc(mysql_query("SELECT * FROM settings WHERE name='WELCOME_EMAIL'"));
$msg = $getSettings['body'];
$subject = $getSettings['display'];
$from = "l********@gmail.com"
$message = mb_convert_encoding($msg, "ISO-2022-JP","UTF-8");
sendEmail($to,$from,$subject,$message);
?>
我已使用上述代码发送电子邮件,但我没有收到正确的日文格式文本。
请参阅截图
答案 0 :(得分:3)
这可能不是邮件问题,但charset
可能是ISO-2022-JP
而不是utf-8
。
$headers .= "Content-Type: text/html;charset=ISO-2022-JP \n";
希望这有帮助。
答案 1 :(得分:0)
Naota你是对的。
但是当你在获取之前从数据库中获取内容时,你必须使用下面的PHP代码
mysql_query('SET character_set_results=utf8');
mysql_query('SET names=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_connection=utf8');
mysql_query('SET collation_connection=utf8_unicode_ci');
以便从数据库中获取日本字符