PHP 8.5.0 Released!

imap_utf8

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf8Converts MIME-encoded text to UTF-8

Description

imap_utf8(string $mime_encoded_text): string

Converts the given mime_encoded_text to UTF-8, if the declared charset is known to libc-client. Otherwise the given text is decoded, but not converted to UTF-8.

Parameters

mime_encoded_text

A MIME encoded string. MIME encoding method and the UTF-8 specification are described in » RFC2047 and » RFC2044 respectively.

Return Values

Returns the decoded string, if possible converted to UTF-8.

Examples

Example #1 Basic imap_utf8() Usage

<?php
echo imap_utf8("Johannes =?ISO-8859-1?Q?Schl=FCter?=");
?>

The above example will output something similar to:

Johannes Schlüter

See Also

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 3 notes

up
8
esvit at mail dot ru
14 years ago
That fixed the all caps issue:
<?php
function imap_utf8_fix($string) {
 return iconv_mime_decode($string,0,"UTF-8");
}
?>
up
5
kloewer at gmail dot com
14 years ago
Use iconv_mime_decode();
<?php
// This yields "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
 0, "ISO-8859-1");
?>

http://php.net/manual/de/function.iconv-mime-decode.php 
up
2
marcelo at maccoy dot com dot br
20 years ago
# this script are correct with the right signs remove expression
# please, ignore the later.
function decode_utf8($str){
 # paterns
 $err="(=\?.{10,13}q\?_?|\?\=)";
 $pat = "/=([0-9A-F]{2})/"; 
 $cha="'.chr(hexdec(";
 # erase null signs in string
 $str=eregi_replace($err,"",$str);
 # to decode with eval and replace
 eval("\$str='".
 preg_replace($pat,$cha."'1ドル')).'",$str)
 ."';");
 # return
 return $str;
} 
#Note: you can to reduce this script in 3 lines.
+add a note

AltStyle によって変換されたページ (->オリジナル) /