我一直在尝试使用包含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。内容是用户生成的(用户使用自己的移动键盘来插入表情符号),因此不能选择手动替换每个表情符号,例如图像。优选地,解决方案是动态的,因此新的表情符号在它们出现时也可以工作。
答案 0 :(得分:0)
您需要指定表情符号的unicode值并尝试以下方法。
echo json_decode('"\uD83D\uDE00"');
此外,您可以使用此this表中的UTF-8表示法:
例如: \ xF0 \ x9F \ x98 \ x81用微笑眼睛磨牙