0

我有一个从网络邮件中读取电子邮件并将数据保存在数据库中的应用程序。我正在使用 PHP 的 imap 库来完成大部分工作。

问题是大多数电子邮件都有多个字符集(主要是 ISO-8859-1 和 UTF-8),所以我必须从电子邮件中读取字符集,然后使用 iconv 函数将其解码为 ISO-8859-1。

它适用于大多数字符集,但是当我阅读 Windows-1252 字符集并尝试对其进行解码时,iconv 函数没有返回任何内容。

如果我尝试将 iconv 函数更改为 mb_convert_string,它不会正确转换所有字符。

这是我的代码:

if( $part->parameters[$i]->attribute == 'charset' )
    $charset =  $part->parameters[$i]->value;

if (strtolower($charset) != 'iso-8859-1')
    $this->emailMessageTxt = iconv($charset, 'iso-8859-1', $this->emailMessageTxt);

里面有错误吗?

4

1 回答 1

5
于 2012-12-05T12:15:39.470 回答