我有一个应用程序,用于从Webmail读取电子邮件并将数据保存在数据库中.我正在使用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);
Run Code Online (Sandbox Code Playgroud)
那里有错误吗?