PHPMailer:阿拉伯语(非英语)字符的主题名称

yas*_*ISI 1 php encoding arabic phpmailer

我正在使用PHPMailerAPI发送电子邮件.我想知道如何用阿拉伯语(非英语)语言发送主题

$mail->CharSet  =  'utf-8';
$array=  FetchTable('cos');
$subject =  $_POST['subject'];
$body    =  $_POST['body'];

$mail = new PHPMailer();
$mail->IsSMTP();    
$mail->Host     = "host";    
$mail->SMTPAuth = true;    
$mail->Username = "yaz@enfaltourism.com";   
$mail->Password = "*******";  
$mail->Port     = "587";  
$mail->From     = "yaz@enfaltourism.com";    
$mail->FromName = "Enfaltourism";   
$mail->Subject  = $subject;     
$mail->AddAddress($email); 
$mail->Send();`
Run Code Online (Sandbox Code Playgroud)

电子邮件已成功发送,但问题在于使用阿拉伯语发送主题.在设置字符编码后,电子邮件正文以阿拉伯语正确显示,但主题以奇怪的字符显示

更新

include("../mail/class.phpmailer.php");
$array=  FetchTable('cos');
$subject =  $_POST['subject'];
$body    =  $_POST['body'];
    $mail = new PHPMailer();
    $mail->CharSet  =  'utf-8';
    $mail->IsSMTP();    
 $mail->Host     = "mail.enfaltourism.com";    
 $mail->SMTPAuth = true;    
 $mail->Username = "yaz@enfaltourism.com";   
 $mail->Password = "*****";  
 $mail->Port     = "587";  
 $mail->From     = "yaz@enfaltourism.com";    
 $mail->FromName = "Enfaltourism";   
 $mail->Subject  = $subject;
Run Code Online (Sandbox Code Playgroud)

我按照你的说法固定,但主题仍然是这样的怪异角色

Nic*_*erg 11

我在日语中遇到了同样的问题,包括身体和主题:

我解决了这个问题(电子邮件现在看起来很棒):

$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
Run Code Online (Sandbox Code Playgroud)

只要对象的CharSet属性设置为UTF-8,就没有必要单独编码主题.


Rah*_*pta 9

您可以尝试使用此代码.如果有帮助,请告诉我

$phpmailer->Subject = "=?UTF-8?B?".base64_encode($subject)."?=";
Run Code Online (Sandbox Code Playgroud)