对中文字符进行编码可以用hotmail,但不能用gmail或yahoo


Encoding chinese characters works with hotmail but not with gmail or yahoo

我设法通过IMAP检索hotmail的中文电子邮件正文,但与gmail或雅虎它不工作。我不知道为什么:

$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "info@*******.com", "********");
$email="mail@hotmail.com";
$num_mensaje = imap_search($mbox,"FROM $email");
$body =  imap_fetchbody($mbox,$num_mensaje[0],"1");
$str =  mb_convert_encoding($body,"UTF-8","big5,EUC-CN");

查看邮件消息中Content-Transfer-Encoding标头的内容。它会告诉你邮件正文的格式,这将决定你必须如何解码它。

需要支持的传输编码包括:

  • 7bit8bitbinary:这些格式不需要预处理。
  • quoted-printable:使用quoted_printable_decode功能
  • base64:使用base64_decode .

一旦你处理了传输编码,那么你可以应用mb_convert_encoding

相关文章: