gpt4 book ai didi

php - 转换为 utf-8 - 来自电子邮件

转载 作者:行者123 更新时间:2023-12-04 14:40:54 25 4
gpt4 key购买 nike

我正在使用 Zend_Mail_Storage_Pop3 来检索邮件消息。

我的邮件主题是Foo/æøå

$message->getHeader('内容类型')给我 text/plain;字符集=ISO-8859-1; format=flowed

在任何编码之前我的$message->subject 看起来像这样

Foo/µ°Õ - 2h - 注释

然后我试着对这个主题做一个iconv

$message->subject = iconv('ISO-8859-1','UTF-8', $message->subject);

现在我的主题看起来像这样

Foo/├ª├©├Ñ - 2h - 注释

这不是 utf-8 :)

那我该怎么办呢?我也试过 utf8_encode 和 mb_convert_encoding但是这些给出了相同的结果

好吧,我明白了 - 但它有点乱,但它有效

$this->mails = new Zend_Mail_Storage_Pop3(...);
$currentMessageId = $this->mails->getNumberByUniqueId($this->mails->getUniqueId($messageId));
$raw = $this->mails->getRawHeader($currentMessageId);
$l = explode("\n", $raw);
foreach($l AS $m) {
if (strpos($m, 'Subject: ') === 0) {
$subject = trim(str_replace('Subject: ', '', $m));
break;
}
}

$subject = str_replace("_"," ", mb_decode_mimeheader($subject));

最佳答案

content-type 字段通常包含消息正文的编码,而不是 header 的编码。您可以查看原始格式的消息吗? ISO 8859-1 中的字段应如下所示:

=?ISO-8859-1?Q?Graphgr=F6=DFen?=

而 UTF8 编码的 header 应如下所示:

=?UTF-8?B?w5xtbMOkdXRlIGluIFVURjg=?=

关于php - 转换为 utf-8 - 来自电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8688054/

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