小编Lea*_*eto的帖子

ICONV功能和Windows-1252

我有一个应用程序,用于从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)

那里有错误吗?

php imap character-encoding iconv

0
推荐指数
1
解决办法
5246
查看次数

标签 统计

character-encoding ×1

iconv ×1

imap ×1

php ×1