Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何发送&;欧元或€;使用phpMailer类登录电子邮件主题_Php_Phpmailer - Fatal编程技术网

如何发送&;欧元或€;使用phpMailer类登录电子邮件主题

如何发送&;欧元或€;使用phpMailer类登录电子邮件主题,php,phpmailer,Php,Phpmailer,我正在使用PHPMailer发送电子邮件 我想在主题中发送价格,例如“价格460欧元的出价已被确定” 我在主题中使用了欧元和欧元,但显示不正确。它显示的是&欧元,而不是&欧元 我应该用什么来解决这个问题 这是我的密码: $mail = new PHPMailer(true); $mail->IsMail(); $body = $mailBody; $mail->CharSet = "text/html; charset=UTF-8;"; $mail->IsHTML(true)

我正在使用PHPMailer发送电子邮件

我想在主题中发送价格,例如“价格460欧元的出价已被确定”

我在主题中使用了欧元和欧元,但显示不正确。它显示的是
&欧元
,而不是
&欧元

我应该用什么来解决这个问题

这是我的密码:

$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
属性。当然,您的
字符也必须使用此字符集:

$mail->CharSet = "UTF-8";
$mail->Subject = 'Bid of Price 460 € has been placed';

正确显示欧元符号UTF-8非常重要

一个简单的解决方案是使用mb_encode_mimeheader,这是100%确定的

$subject = "Here is €500!";
$subject = str_replace('€', mb_encode_mimeheader('€', 'UTF-8'), $subject);
与PHPMailer和PEAR::Mail配合良好