1

オブジェクトの文字セットを判別しようとしていZend_Mail_Partます(電子メールを読んでいます)。どうすればcharset情報を入手できますか?

これを行うことで、content-typeヘッダーを取得できます。

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

charsetそれが唯一の方法である場合、私は情報を解析する用意があります。最もクリーンなソリューションを探しているだけです。

4

2 に答える 2

1

Zend_Mail_Part :: getHeaderFieldを使用できます:

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

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

于 2011-07-12T11:20:38.293 に答える
0

を見つける方法を理解できる唯一の方法charsetは、正規表現を使用することです。

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

if ($charset == 'iso-8859-1') {
    $content = utf8_encode($content);
}
于 2011-07-11T22:33:25.320 に答える