我正在使用PHPMailer发送电子邮件.
我想在主题中发送价格,例如“已经放置价格460€”.
我在主题中使用了€和€但它没有正确显示.它显示& euro而不是& euro;
我应该用什么来解决这个问题?
这是我的代码:
$mail = new PHPMailer(true);
$mail->IsMail();
$body = $mailBody;
$mail->CharSet = "text/html; charset=UTF-8;";
$mail->IsHTML(true);
$mail -> AddAddress( $email, '' );
$mail -> SetFrom( 'support@abc.com', 'Support Fretbay.com');
$mail -> Subject = 'Bid of Price 460 € has been placed';
$mail -> AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail -> MsgHTML($body);
$mail -> Send();
解决方法:
主题不能包含html实体,因此& euro;不行.您必须使用包含欧元符号的字符集,并设置$mail-> CharSet属性.当然,你的€char也必须使用这个charset:
$mail->CharSet = "UTF-8";
$mail->Subject = 'Bid of Price 460 € has been placed';