如何从Zend_Mail_Part对象获取字符集?

时间:2011-07-11 21:39:28

标签: php zend-framework zend-mail

我正在尝试确定Zend_Mail_Part对象的字符集(我正在阅读电子邮件)。如何获取charset信息?

我可以通过这样做来获取内容类型标题:

echo $part->contentType;
# text/plain; charset="iso-8859-1"

如果这是唯一的方法,我愿意解析charset信息。只是想找到最干净的解决方案。

2 个答案:

答案 0 :(得分:1)

您可以使用Zend_Mail_Part :: getHeaderField:

$part->getHeaderField('content-type', 'charset');

http://framework.zend.com/apidoc/1.11/_Mail_Part.html#Zend_Mail_Part::getHeaderField()

答案 1 :(得分:0)

我能弄清楚如何找到charset的唯一方法是使用正则表达式:

preg_match('/charset="(.+)"$/', $foundPart->contentType, $matches);
$charset = $matches[1];

if ($charset == 'iso-8859-1') {
    $content = utf8_encode($content);
}