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 — Decodes a modified UTF-7 encoded string
Description
string imap_utf7_decode
( string
$text
)
Decodes modified UTF-7 text into ISO-8859-1 string.
This function is needed to decode mailbox names that contain certain characters which are not in range of printable ASCII characters.
Parameters
-
text -
A modified UTF-7 encoding string, as defined in » RFC 2060, section 5.1.3 (original UTF-7 was defined in » RFC1642).
Return Values
Returns a string that is encoded in ISO-8859-1 and consists of the same
sequence of characters in text, or FALSE
if text contains invalid modified UTF-7 sequence
or text contains a character that is not part of
ISO-8859-1 character set.
Min He ¶
2 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.
