我已经花了半天的时间-只是想让电子邮件“主题”看起来正常.但是,当电子邮件到达收件箱时,国际字符将显示为HTML_Entities.
例如:TydzieńoJedność
显示为:Tydzień o杰德诺ść
我已经为UTF-8编码了电子邮件主题:
$this-> subject =“ =?UTF-8?B?” . base64_encode($this-> subject). “?=”;
当我收到电子邮件(Gmail)时,标题显示为:
主题:=?UTF-8?B?VHlkemllJiMzMjQ7IG8gSmVkbm8mIzM0NzsmIzI2Mzs =?=
因此它似乎编码正确.但是由于某些原因,Gmail仍然显示带有HTML_Entities的主题.
有任何想法吗?
查看代码:SMTP mail class
解决方法:
$this->主题是否为有效的UTF-8字符串?您是否正在使用UTF-8编码的.php文件(没有BOM)?
另外,尝试执行以下操作:
$this->subject = "=?UTF-8?B?" . base64_encode(html_entity_decode($this->subject, ENT_COMPAT, 'UTF-8')) . "?=";