我对编码有一个奇怪的问题,描述如下:
ù现在在电子邮件主题中显示为ù.电子邮件通过PHP邮件功能发送.
查看邮箱中的电子邮件时,它显示正确.然而,当任何人打开电子邮件时,ù突然变为ù.
Uw contact met Meeùs
应该
Uw contact met Meeùs
我已经使用过编码.
$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格式发送电子邮件的信息.但通常有两个问题:
原文链接:https://www.f2er.com/php/136796.html缺少Mime版本
错误显示字符的原因是开发人员忘记将消息描述为MIME版本.如果消息缺少Internet邮件标准所要求的“Mime-Version”标头,Webmail将完全忽略“charset”标头,除非它已经在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);