我想将以下原始邮件主题转换为普通的UTF-8文本:
=?UTF-8 2 B 4 UmU6ICMyLUZpbmFsIEFjY2VwdGFuY2UgdGVzdCB3aXRoIG5ldyB0ZXh0IHdpdGggU2xvdg ==?= =?UTF-8 2 B 4 YWsgaW50ZXJwdW5jdGlvbnMgIivEvsWhxI3FpcW + w73DocOtw6khxYgi?=
真正的原因是(是的,其中有一些疯狂的变音符号):
回复:#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“+ľščťžýáíé!”
因此,您可以看到主题的第二部分/行被转换为correclty。
我需要更改什么才能正确转换第一部分?
答案 0 :(得分:5)
mb_internal_encoding("UTF-8");
echo mb_decode_mimeheader($mime);