本文介绍了将内联指定的UTF-8邮件转换为UTF-8文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to convert the following raw mail subject to normal UTF-8 text:

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

The real text for that is (yes, there are some crazy diacritics in it):

我处理邮件主题的方式:

The way I handle mail subjects:

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;
}

例如,这给了我

因此您可以看到,主题的第二部分/第二行是正确的.

So as you can see the second part/line of the subject is converted correclty.

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

What do I need to change to convert the first part correctly?

推荐答案

mb_internal_encoding("UTF-8");
echo mb_decode_mimeheader($mime);

  • 演示 http://codepad.viper-7.com/a9l4IA
    • Demo http://codepad.viper-7.com/a9l4IA
    • 这篇关于将内联指定的UTF-8邮件转换为UTF-8文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-22 21:19