Re: [PHP-I18N] Re: Problems with mime encoding of Japanese Characters in Subject and'From:' etc. fields.

[email protected] ("david.blomberg") Wed, 26 Mar 2008 09:49:27 +0900
Newsgroups php.i18n
Message-ID <[email protected]>
Tomas Kuliavas wrote:
>> Hi, 
>>
>> I try to send messages written in Japanese (Kana/Kanji) with php.
>>
>> Everything works fine - only when the subject (or the name of the
>> sender) becomes longer, there seems to be something wrong with the
>> encoding: Neither my nor the mail reader of other Japanese friends is
>> able to decode the mime string. At the place of the Japanese
>> Characters, the mime string itself is displayed.
>>
>> As this doesn't happen for other Japanese emails with even long
>> subjects, I suppose I did something wrong...
>>
>> When using the corresponding php mb_* functions to decode the string
>> back, sometimes the correct original string and sometimes meaningless
>> characters are shown.
>>
>> Here how I convert the subject (the name is converted using the same
>> method and the sources are saved in UTF-8 using emacs):
>>
>>   $subjectJIS  = mb_convert_encoding($subject, "ISO-2022-JP", "AUTO");
>>   $subjectMIME = mb_encode_mimeheader($subjectJIS, "ISO-2022-JP", "B");
>>   ...snip...
>>   mail($to, $subjectMIME, $bodyJIS, $headers);
>>
>> Here part of the message as it is displayed by my mail program:
>>
>>   From:
>> =?ISO-2022-JP?B?GyRCJCskSjRBO3okKyRKNEE7eiQrJEo0QTt6JCskSjRBO3okKyRKNEE7?==?ISO-2022-JP?B?eiQrJEo0QTt6JCskSjRBO3okKyRKNEE7eiQrJEo0QTt6JCskSjRBO3ob?=(B <[email protected]>
>>   ...snip...
>>   Subject:
>> =?ISO-2022-JP?B?GyRCJCskSjRBO3okKyRKNEE7eiQrJEo0QTt6JCskSjRBO3okKyRKNEE7?= =?ISO-2022-JP?B?eiQrJEo0QTt6JCskSjRBO3okKyRKNEE7eiQrJEo0QTt6JCskSjRBO3ob?= (B
> ...
>> If anybody can explain me the problem I would be most gratefull :)
I have seen this problem in a few mail clients My solution in the past 
has been to merge the 2 encoding strings into a single encoding string 
to avoid the client getting messed when it sees the second 
"=?ISO-2022-JP" in the Header line. (this is really a big problem for 
Apple iMail-I have seen it regardless of the programming language used)
> 
> You forgot to mention your PHP version, configure options related to
> mbstring and php mbstring configuration.
> 
> Could you explain why Japanese are so obsessed with ISO-2022-JP? Why
> can't you just send it in Base64 encoded UTF-8?
> 
Some brain dead ISPs/Mobile services here in Japan only support 
ISO-2022-JP.

David Blomberg