mb_encode_mimeheader function can't deal with long non-English strings?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I wonder why mb_encode_mimeheader function can't deal with long non-english
strings. Here are the codes:

> function util_encode_mimeheader($headername,$str,$charset) {
> if (function_exists('mb_internal_encoding') &&
> function_exists('mb_encode_mimeheader')) {
>  $x = mb_internal_encoding();
> mb_internal_encoding("UTF-8");
> $y = mb_encode_mimeheader($headername . ": " . $str,
> $charset, "Q");
>  mb_internal_encoding($x);
> return $y;
> }
> }


According to my tests, if the subject have too many characters, there will
be more than one "?UTF-8?Q??" generated which make the MIME header
invaild. If there are more than one "?UTF-8?Q??" , the remaing "?UTF-8?Q?"s
will appear in the body of email, i.e. the beginning of the email will be:

> " =?UTF-8?Q?=E6=9C=89=E9=97=AE=E9=A2=98?=
> Content-type: text/plain; charset=UTF-8 ....".


Can anyone explain this?

Thanks!

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux