【问题标题】:Encoding trouble in mail function php邮件功能php中的编码问题
【发布时间】:2015-02-08 13:13:46
【问题描述】:

我正在尝试使用 html 正文发送电子邮件,我使用数据库中的条目形成它,一切正常,当我使用检查撰写的消息时

echo $message;

我看到了很好的组合文本,没有任何错误,但是使用 mail() 函数发送后,我只有 1 个符号有问题。

utf-8 格式的所有页面和所有数据,标题也设置为 utf:

$headers .= "Content-type: text/html; charset=utf-8\r\n";

回显结果:

gmail 结果:

我该如何解决这个问题?

【问题讨论】:

  • 只是古玩.. 为什么你的字符集中有 \r\n?
  • 可能是双重编码.. 因为 Gmail 已经设置了字符集?
  • \r\n 因为后面还有几行
  • 我考虑过双重编码,但 gmail 可以清楚地显示它,我也有同样的错误,我认为它发生在 gmail 收到我的电子邮件时,但我想了解如何避免它跨度>

标签: php email encoding utf-8


【解决方案1】:

我找到了解决方案 添加到标题并删除任何字符集

$headers .= "Content-type: text/html\r\n";
$headers .= "Content-Transfer-Encoding: base64" . "\r\n";

然后用我的所有信息做到这一点:

$message = rtrim(chunk_split(base64_encode($message)));

现在一切正常!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2018-07-19
    • 2012-02-27
    相关资源
    最近更新 更多