imap_utf8

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

imap_utf8MIME エンコードされたテキストを UTF-8 に変換する

説明

imap_utf8(string $mime_encoded_text): string

宣言されている文字セットを libc-client が知っている場合は、 指定した mime_encoded_text を UTF-8 に変換します。 知らない場合は、指定されたテキストはデコードされますが、UTF-8 には変換されません。

パラメータ

mime_encoded_text

MIME エンコードされた文字列。 MIME エンコーディング方法および UTF-8 の仕様については、それぞれ » RFC2047 および » RFC2044 を参照ください。

戻り値

デコードされた文字列。可能な場合は UTF-8 に変換されます。

例1 Basic imap_utf8() の使い方

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

上の例の出力は、 たとえば以下のようになります。

Johannes Schlüter

参考

add a note

User Contributed Notes 3 notes

up
7
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
13 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.
To Top