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.
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 を返します。
Min He ¶
3 years ago
Anonymous ¶
10 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
sven at planb dot de ¶
12 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.
