【问题标题】:Convert inline specified UTF-8 mail subject to UTF-8 text将内联指定的 UTF-8 邮件主题转换为 UTF-8 文本
【发布时间】:2011-11-19 11:51:13
【问题描述】:

我想将以下原始邮件主题转换为普通的 UTF-8 文本:

=?UTF-8?B?UmU6ICMyLUZpbmFsIEFjY2VwdGFuY2UgdGVzdCB3aXRoIG5ldyB0ZXh0IHdpdGggU2xvdg==?= =?UTF-8?B?YWsgaW50ZXJwdW5jdGlvbnMgIivEvsWhxI3FpcW+w73DocOtw6khxYgi?=

真正的文字是(是的,里面有一些疯狂的变音符号):

Re:#2-最终验收测试,新文本带有斯洛伐克语解释“+ľščťžýáíé!ň”

我处理邮件主题的方式:

function subject_imapUtf8($str){
    $conv = '';
        $subParts = preg_split('/[\r\n]+/',$str);
    for($i=0;$i<count($subParts);$i++){
        $conv .=  imap_utf8(trim($subParts[$i]));
    }
    return $conv;
} 

例如,这给了我:

=?UTF-8?B?UmU6ICMyLUZpbmFsIEFjY2VwdGFuY2UgdGVzdCB3aXRoIG5ldyB0ZXh0IHdpdGggU2xvdg==?=ak interpunctions "+ľščťžýáíé!ň"

如您所见,主题的第二部分/行已正确转换。

我需要更改什么才能正确转换第一部分?

【问题讨论】:

    标签: php email encoding utf-8


    【解决方案1】:
    mb_internal_encoding("UTF-8");
    echo mb_decode_mimeheader($mime); 
    

    【讨论】:

      猜你喜欢
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      相关资源
      最近更新 更多