gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:36:20 26 4
gpt4 key购买 nike

我有一个奇怪的编码问题,描述如下:

ù 现在在电子邮件主题中显示为 ù。邮件通过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。

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

最佳答案

您的代码绝对正确,没有任何错误,但其他编码失败。因为我需要消息源 header 和消息来告诉您到底发生了什么?我进一步没有关于您是以纯文本还是 HTML 格式发送电子邮件的信息。但一般有两个问题:

缺少 MIME 版本

错误显示字符的原因是开发人员忘记将消息描述为 MIME 版本。如果邮件缺少 Internet 邮件标准要求的“Mime-Version” header ,Webmail 将完全忽略“charset” header ,使邮件出现乱码,除非它已经在 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 header ,因为这将有助于更好地解决问题。

关于php - Joomla UTF-8 编码在打开邮件时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com