我正在尝试确定Zend_Mail_Part
对象的字符集(我正在阅读电子邮件)。如何获取charset
信息?
我可以通过执行以下操作获取内容类型标头:
echo $part->contentType;
# text/plain; charset="iso-8859-1"
charset
如果这是唯一的方法,我愿意解析信息。只是试图寻找最干净的解决方案。
我正在尝试确定Zend_Mail_Part
对象的字符集(我正在阅读电子邮件)。如何获取charset
信息?
我可以通过执行以下操作获取内容类型标头:
echo $part->contentType;
# text/plain; charset="iso-8859-1"
charset
如果这是唯一的方法,我愿意解析信息。只是试图寻找最干净的解决方案。
你可以使用 Zend_Mail_Part::getHeaderField:
$part->getHeaderField('content-type', 'charset');
http://framework.zend.com/apidoc/1.11/_Mail_Part.html#Zend_Mail_Part::getHeaderField ()
我可以弄清楚如何找到的唯一方法charset
是使用正则表达式:
preg_match('/charset="(.+)"$/', $foundPart->contentType, $matches);
$charset = $matches[1];
if ($charset == 'iso-8859-1') {
$content = utf8_encode($content);
}