【问题标题】:Why isn't this message subject encoded properly? (php mail)为什么此消息主题未正确编码? (php邮件)
【发布时间】:2010-12-23 23:41:34
【问题描述】:

我使用此代码发送电子邮件:

$headers="MIME-Version: 1.0"."\n";
$headers.="Content-type: text/plain; charset=UTF-8"."\n";
$headers.="From: $name <$email>"."\n";

mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $text, $headers, '-fnoreply@domain.com'); 

如果我使用瑞典字母表中的特殊字符 Å Ä Ö,它们的编码不正确,所以它们会像 ö for ö 一样出现。

但是,如果我将 $to 变量更改为 gmail 帐户电子邮件,则不会发生这种情况,然后它们会正确显示。

有人知道吗?

谢谢

更新:

当我echo $name 时,名称以 utf8 格式正确显示,所有特殊字符都很好地显示。

【问题讨论】:

    标签: php html email encoding utf-8


    【解决方案1】:

    也许您应该使用 iconv 将输入文本转换为 UTF-8,我认为 GMail 会为您做到这一点。

    $text =  iconv(mb_detect_encoding($text), "UTF-8//IGNORE//TRANSLIT", $text)
    

    还要检查您的 PHP 页面是否为 Unix UTF-8。

    你可以使用phpMailer或libmail

    【讨论】:

      猜你喜欢
      • 2010-10-24
      • 2023-04-10
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多