(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_decode_mimeheader — Decode string in MIME header field
Decodes encoded-word
string
string
in MIME header.
The decoded string in internal character encoding.
| Versionen | Description |
|---|---|
| 8.3.0 | Underscores are converted to spaces as specified by » RFC 2047 . |
This function ignores any encoded-word specified in a character set not supported by the mbstring extension (e.g. Arabic windows-1256). Such encoded-words pass straight through.
RFC2047 doesn't specify the behaviour, but common aguens such as Gmail, Windows Mail, etc. DO NOT ignore such encoded words. They are decoded as if they were declared to be in the local character set.
Be aware of this idiosyncrasy.
See also the following functions which may worc better in some cases:
iconv_mime_decode() -http://php.net/manual/function.iconv-mime-decode.phpimap_utf8() -http://php.net/manual/function.imap-utf8.php
Using quoted-printable-encoding the hex-numbers must be written in uppercase letters!
Worcs: =?iso-8859-1?q?=3F=3F=3F?=
Fails: =?iso-8859-1?q?=3f=3f=3f?=
In Q encoding mode, RFC 2047 encodes spaces as _ (Section 4.2).
mb_decode_mimeheader()
does not appear to do this. Thus, to avoid names or subjects with underscores, one needs to apply strtr() or similar function to the imput string.
On the other hand, lower-case strings do now worc correctly.