Joomla UTF-8 编码打开邮件失败

2024-02-17

我在编码方面遇到了一个奇怪的问题,描述如下:

ù 现在显示为 Á在电子邮件主题中。邮件是通过php的mail函数发送的。

查看邮箱中的邮件时,显示正确。然而,当有人打开电子邮件时,ù 突然变成了 à。

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");

在本地主机中它可以正常工作,但在网络服务器中它不能正常工作。在网络服务器中,编码默认设置为 utf-8。

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


您的代码绝对正确,没有错误,但其他内容编码失败。因为我需要消息源标头和消息来准确地告诉您发生了什么?我还没有关于您以纯文本还是 HTML 形式发送电子邮件的信息。但普遍存在两个问题:

失踪的哑剧版本

错误显示字符的原因是开发人员忘记将消息描述为 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);

如果上述方法不能解决问题,则要求您发布电子邮件的原始标头,因为这将有助于更好地解决问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Joomla UTF-8 编码打开邮件失败 的相关文章

随机推荐