为什么此邮件主题编码不正确? (php 邮件)
我使用此代码发送电子邮件:
$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, '[email protected]');
如果我使用瑞典字母表中的特殊字符 Å ä Ö,则它们的编码不正确,因此它们会显示为 ö 的 Á¶ 。
但是,如果我将 $to
变量更改为 gmail 帐户电子邮件,则不会发生这种情况,然后它们会正确显示。
有人知道吗?
谢谢
更新:
当我echo $name
时,名称以utf8格式正确显示,所有特殊字符都很好地显示。
I use this code to send an email:
$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, '[email protected]');
If I use special characters Å Ä Ö from the swedish alphabet, they are not encoded properly, so they turn up like ö for ö
.
However, this doesn't happen if I change the $to
variable to a gmail account email, then they are shown correctly.
Anybody got any idea?
Thanks
UPDATE:
When I echo $name
, the name is displayed correctly, in utf8, with all special chars nicely shown.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
也许您应该使用 iconv 将输入文本转换为 UTF-8,我认为 GMail 可以为您做到这一点。
还要检查您的 PHP 页面是否为 Unix UTF-8。
或者
您可以使用 phpMailer 或 libmail
Maybe you should convert input text to UTF-8 using iconv, I think GMail does that for you.
Also check that you PHP page is Unix UTF-8.
OR
You can use phpMailer or libmail