来自变量的phpmailer主题会产生编码问题

时间:2015-11-24 13:44:15

标签: php encoding phpmailer

我正在使用phpmailer使用php发送电子邮件。

当我尝试在主题中发送特殊(土耳其)字符时,它会在发送的电子邮件中显示html实体。如果我在身体部分包含相同的变量,它可以正常工作。请参阅以下内容:

$mail->Subject = $stuname."PhD Qualifying Exam Application";

我尝试过html_entity_decode函数,但没有用。

另外,如果我输入土耳其字符而不是从变量中获取,它可以正常工作。

最后,如果我在发送电子邮件之前打印变量,它打印正常,没有任何编码问题。但是角色的数量比应该的大。

那么,任何想法为什么我在主题中遇到编码问题都是从变量中获取值?

谢谢!

PS:

我也在添加这些标题:

$mail->SetLanguage("tr", "phpmailer/language");
$mail->CharSet  ="utf-8";
$mail->Encoding="base64";

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,没有一个html解码函数正常工作,所以我为土耳其字符编写了自己的函数。

function replacehtml($inputText) {
    $replace  = array('İ','ı','Ö','ö','Ü','ü','Ç','ç','Ğ','ğ','Ş','ş');
    $search = array('İ','ı','Ö','ö','Ü','ü','Ç','ç','Ğ','ğ','Ş','ş');
    $outputText=str_replace($search, $replace, $inputText);
    return $outputText;
}