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

前端之家收集整理的这篇文章主要介绍了php – Joomla UTF-8编码在打开邮件时失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对编码有一个奇怪的问题,描述如下:

ù现在在电子邮件主题显示为ù.电子邮件通过PHP邮件功能发送.

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

Uw contact met Meeùs

应该

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标题,因为它有助于更​​好地解决问题.

原文链接:https://www.f2er.com/php/136796.html

猜你在找的PHP相关文章