我的要求是用php发送土耳其语的邮件。 这是我的代码:
$rst2 = $this->selectQry(TBL_MAILSETTING,"mailTypeId='8' AND langId='1'",'0','0');
$query2= $this->getResultRow($rst2);
$subject2 = $query2['mailSubject'];
$subject2 = iconv_mime_decode($subject2, 2, "utf-8");
$subject2 = mb_convert_encoding($subject2, "utf-8","AUTO");
$subject2 = mb_encode_mimeheader($subject2);
$from1 = $_POST['email'];
$query2['message'] = $query2['mailContaint'];
$query2['message']=str_replace("[name]",$_POST[name],$query2['message']);
$message1 = $query2['message'];
mail(
$from1
, $subject2
, "$message1\r\n"
, "From: $from\n"
. "MIME-Version: 1.0\n"
. "Content-type:text/html;charset=iso-8859-1" . "\r\n"
. 'X-Mailer: PHP/' . phpversion ()
);
这里的每件事情都进展顺利,但问题是主题在“Takım
”中以编码形式进行(Takım为evrimii Tebrik Card Designer Takım
)
任何身体都可以提供帮助。
答案 0 :(得分:0)
只是一个建议:不要使用内置邮件功能。使用Zend Mail,或phpmailer或PEAR Mail,或任何好的邮件包。关键是:一个完善的软件包解决了主要问题,也解决了你所问的问题(关于编码)。
但无论如何:你的问题是主题中的错误编码(这是针对utf-8):
mail($to, '=?utf-8?B?'.base64_encode($subject).'?=', $message, $headers);
有关主题字符集编码的更多信息,请点击此处:
http://ncona.com/2011/06/using-utf-8-characters-on-an-e-mail-subject/
答案 1 :(得分:0)
如评论中所述,您可能已在数据库中将编码字符作为ı
。
您可以使用html_entity_decode()
(http://de2.php.net/function.html-entity-decode)来反转编码。