在PHP的HTML电子邮件的动态内容体中使用表情符号

时间:2017-05-02 09:38:20

标签: php utf-8 phpmailer emoji

我一直在尝试使用包含emojis的PHPMailer发送HTML电子邮件:

$mail = new PHPMailer();
$mail->isHTML(true);
$mail->CharSet = "UTF-8";
$mail->Subject = "             ";
$mail->Body = "             ";

但是,表情符号只能在主题中正确显示;在体内,它们被问号(在Thunderbird和Outlook中)取代。该电子邮件确实包含HTML,因此仅将isHTML设置为false是不够的。我查看了Send unicode emoji with PHPMailer,但它似乎对我不起作用,因为字符集已经设置为UTF-8。内容是用户生成的(用户使用自己的移动键盘来插入表情符号),因此不能选择手动替换每个表情符号,例如图像。优选地,解决方案是动态的,因此新的表情符号在它们出现时也可以工作。

1 个答案:

答案 0 :(得分:0)

您需要指定表情符号的unicode值并尝试以下方法。

echo json_decode('"\uD83D\uDE00"');

此外,您可以使用此this表中的UTF-8表示法:

例如:  \ xF0 \ x9F \ x98 \ x81用微笑眼睛磨牙