Я использую php-файл системы классов для отправки электронного письма в формате HTML из базы данных mysql, перед символом фунта в заголовке темы появляется дополнительный символ, но основное содержание письма в порядке.
Я пытался использовать кодировку UTF для электронной почты, но это нарушает фактическую область содержимого электронной почты, так что все электронные письма больше не отправляют содержимое HTML, хотя это действительно решает проблему символа фунта. Также попробовал str_replace. Если есть способ закодировать его, чтобы заголовок использовал только UTF и контент HTML, который был бы идеальным решением.
Ниже приведены разделы кода темы электронного письма (личные данные не указаны)
function
sendTemplateEmail($groupid,$subject,$body,$tipster_code,
$email_image,$tipster_name,$only_active="",
{
global $conn;
$errors = "";
$email_list = array();
$total_users = 0;
$group = (is_numeric($groupid)) ? $groupid : 0;
#die("body = ".$body);
$body = str_replace("£","£",$body);
$body = str_replace("Â","",$body);
$subject = str_replace("Â","",$subject);
$html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
$html .= "<html lang='en'>\n";
$html .= "<head>\n";
$html .= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";
$html .= "<title>O.com</title>\n";
$html .= "</head>\n";
$html .= "<body style='width:800px;' bgcolor=\"#FFFFFF\">\n";
$dw_mail->AddReplyTo("admin@","");
$dw_mail->ReturnPath = "admin@";
$dw_mail->From = $from;
$dw_mail->FromName = $from;
$dw_mail->AddAddress($users['email'],"");
$dw_mail->AddAddress("@hotmail.com","");
$dw_mail->WordWrap = 50; // set word wrap
//$dw_mail->AddAttachment(PDF_PATH."app-".$app.".pdf");
$dw_mail->IsHTML(); // send as html
$dw_mail->Subject = stripslashes($subject);
$dw_mail->Body = $html;
$dw_mail->AltBody = stripslashes($alt_body);