PHP Australia Conference 2015

imap_utf7_decode

(PHP 4, PHP 5)

imap_utf7_decode修正版 UTF-7 エンコードされた文字列をデコードする

説明

string imap_utf7_decode ( string $text )

修正版 UTF-7 の text を ISO-8859-1 文字列に デコードします。

この関数は、ある種の非 ASCII 文字を含むメールボックス名をデコードする際に 必要となります。

パラメータ

text

修正版 UTF-7 エンコーディングの文字列。このエンコーディングについては » RFC 2060, section 5.1.3 で定義されています (元の UTF-7 は » RFC1642 で定義されています)。

返り値

text と同じ内容の文字を ISO-8859-1 でエンコード した文字列を返します。text に修正版 UTF-7 として 不正な文字が含まれていた場合、あるいは text に ISO-8859-1 文字セットの範囲外の文字が含まれていた場合には FALSE を返します。

参考

add a note add a note

User Contributed Notes 3 notes

up
0
Min He
4 years ago
For Chinese charset, we can use:

mb_convert_encoding($mailbox, "UTF7-IMAP", "GB2312");

when you want to create a mailbox in Chinese.

OR

mb_convert_encoding($mailbox, "GB2312", "UTF7-IMAP");

when you want to show the listed mailbox with the right charset.
up
0
Anonymous
12 years ago
For "Outlook-style" UTF-7, you can also use:

mb_convert_encoding( $str, "ISO_8859-1", "UTF7-IMAP" ); # for decoding
mb_convert_encoding( $str, "UTF7-IMAP", "ISO_8859-1" ); # for encoding
up
0
sven at planb dot de
13 years ago
imap_utf7_decode decodes 'modified'.
For decoding Outlook UTF-7 - texts I use --enable-recode and $latin1string=recode_string("UTF-7..ISO_8859-1",$utf7string);
Don't use recode-3.5c.*rpm from Contrib.
recode_string seems to be buggy.
To Top