加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Joomla UTF-8编码在打开邮件时失败

发布时间:2020-12-13 13:16:58 所属栏目:PHP教程 来源:网络整理
导读:我对编码有一个奇怪的问题,描述如下: ù现在在电子邮件主题中显示为?1.电子邮件通过php邮件功能发送. 查看邮箱中的电子邮件时,它显示正确.然而,当任何人打开电子邮件时,ù突然变为?1. Uw contact met Mee?1s 应该 Uw contact met Meeùs 我已经使用过编码.
我对编码有一个奇怪的问题,描述如下:

ù现在在电子邮件主题中显示为?1.电子邮件通过php邮件功能发送.

查看邮箱中的电子邮件时,它显示正确.然而,当任何人打开电子邮件时,ù突然变为?1.

Uw contact met Mee?1s

应该

Uw contact met Meeùs

我已经使用过编码.

$emailsubject包含上述电子邮件主题.

$subject=$emailsubject;
$subject=$emailsubject;
$email_message=new email_message_class;
$email_message->SetEncodedEmailHeader("To",$to_address,$to_name);
$email_message->SetEncodedEmailHeader("From",$from_address,$from_name);
$email_message->SetEncodedEmailHeader("Reply-To",$reply_address,$reply_name);
$email_message->SetHeader("Sender",$from_address);
$email_message->SetEncodedHeader("Subject",$subject,"UTF-8");

在localhost中它正常工作,但在Web服务器中它无法正常工作.在webserver中,默认情况下编码也设置为utf-8.

我做错了什么?
提前致谢.

你的代码是正确的绝对没有错误,但其他东西没有编码.因为我需要消息源头和消息来告诉你究竟发生了什么?我还没有关于您是以纯文本还是HTML格式发送电子邮件的信息.但通常有两个问题:

缺少Mime版本

错误显示字符的原因是开发人员忘记将消息描述为MIME版本.如果消息缺少Internet邮件标准所要求的“Mime-Version”标头,Webmail将完全忽略“charset”标头,除非它已经在UTF-8字符集中,否则将消息加入.

显示具有特殊字符的主题

如果您想使用utf-8编码显示主题,则必须将主题编码为:

//Setting the Language as Japan
mb_language("ja");

//Converting the string into Japan Encoding
$subject = mb_convert_encoding($subject,"ISO-2022-JP","AUTO");

//Now convert the string to MIME Header type
$subject = mb_encode_mimeheader($subject);

如果上述内容无法解决问题,请求您发布电子邮件的RAW标题,因为它有助于更??好地解决问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读