【发布时间】:2013-08-07 02:08:48
【问题描述】:
我的要求是用 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 as Takım)在“evrimii Tebrik Card Designer Takım”中进行
任何机构可以提供帮助将不胜感激。
【问题讨论】:
-
你试过
utf-8或iso-8859-9而不是iso-8859-1吗? -
是的,我试过 utf-8,iso-8859-9,iso-8859-1,iso-8859-2,但结果是一样的。
-
你可以在 /etc/php.ini 和 /etc/php.d/mbstring.ini 中检查这个 "mbstring.*" 字符串,然后重启 apache,它可能会有所帮助
-
@Girish
ı是一个 HTML 实体。您没有在代码中的任何地方编码为 HTML,因此您的原始文本已经包含该实体。放错地方了从源头上摆脱它。 -
@Girish 除此之外,您需要为 headers 做的所有事情,就像主题行一样,就是 MIME 编码 它,因为电子邮件标题不能包含非 ASCII 字符。正文可以是您喜欢的任何编码,但您需要设置正确的标头来声明正文的编码。许多类似的问题都很好地涵盖了这一点。
标签: php