解码电子邮件主题

时间:2015-03-10 14:07:58

标签: php email

我需要解码一些邮件的主题。我有这个代码

$subject = mimie_text_decode($header->Subject);

function mimie_text_decode($string){

            $string = htmlspecialchars(chop($string));

            $elements = imap_mime_header_decode($string);

            if(is_array($elements)){
                for ($i=0; $i<count($elements); $i++) {
                    $charset = $elements[$i]->charset;
                    $txt .= $elements[$i]->text;
                }
            } else {
                $txt = $string;
            }
            if($txt == ''){
                $txt = 'No_name';
            }

            return $txt;
        }

当我的主题是这样的时候?UTF-8?Q?C=C3=BAspide?=它可以正常工作,但是如果我的主题不是UTF-8并且就像这个?Windows-1252?Q?Pro=F3ba?=它没有显示带有重音的字符,它就会消除一切有重音,即只显示单词,直到出现重音。如果我有这个单词“Más”,它只显示“M”

可以解决什么问题?

由于

1 个答案:

答案 0 :(得分:1)

您的代码适用于我,但您编写的编码主题应以=?。

开头

使用=?Windows-1252?Q?Pro=F3ba?=

尝试使用您的代码

Windows-1252它是由Microsoft创建的另一种非常类似于ISO-8859-15的编码[1]

如果不能为你添加这个=字符作为传递给mimie_text_decode的字符串的第一个元素,请告诉我们你使用的是哪个版本的php。

[1] http://en.wikipedia.org/wiki/Windows-1252

相关问题