You are here: Re: mail() encoding problems « PHP Programming Language « IT news, forums, messages
Re: mail() encoding problems

Posted by amygdala on 08/23/07 07:44

"Manuel Lemos" <mlemos@acm.org> schreef in bericht
news:fai9hl$7o8$1@aioe.org...
> Hello,
>
> on 08/22/2007 04:00 PM amygdala said the following:
>> <snip>
>>
>>> The only thing really wrong is that you should not send 8 bit encoded
>>> messages as many mail gateways do not supported. Instead of 8 bit you
>>> should use quoted-printable encoding.
>>
>> Alright, I didn't know this. This makes sense. Cause like I said, even
>> without me encoding it as utf-8, the problem randomly occured. Perhaps
>> the
>> apparent random appearance of strange characters and/or missing of
>> diactrical characters could be explained due to the fact that subsequent
>> mail messages can get send through different mail gateways to their
>> end-destination, just like a tcp packets? Or is that not correct? Not
>> very
>> imporant for me to get answered, but it would help me get a better
>> understanding of things. ;-)
>
> No, the diacritical characters appear when transform your text to UTF-8
> . UTF-8 still uses 8 bits per character. If you read the mail message
> that is sent you see those characters because whatever console or text
> display program you are using does not decode UTF-8 and show the correct
> characters.
>

But what could be causing my characters to randomly be transformed to UTF-8?
Do you have any idea? I don't do it anywhere in my application (except for
the test I stated in my first mail)? I've changed everything back to how it
was though, and now it still shows

test ëèï

and sometimes

test

without me changing anything in the programs code? That is weird, isn't it?

>>> You can also have 8 bit characters in the headers but they must be
>>> encoded with q-encoding to avoid the same problem with the message body.
>>
>> I probably won't be needing that at this point in time. But that's good
>> to
>> know also.
>>
>>> This is a bit complicated to encode by hand. I use this MIME message
>>> composing and sending class to take care of all that for me.
>>>
>>> http://www.phpclasses.org/mimemessage
>>>
>>
>> Although I only had a quick glance at your class, and it probably does
>> the
>> job well, it looks like a bit of overkill for my purposes. So in
>> conclusion,
>> is it fair to say that I only need to change:
>>
>> $headers .= 'Content-Transfer-Encoding: 8bit' . LF;
>>
>> to
>>
>> $headers .= 'Content-Transfer-Encoding: quoted-printable' . LF;
>>
>> and leave
>>
>> $headers .= 'Content-Type: text/plain; charset=iso-8859-1' . LF;
>>
>> as is?
>
> No, you need actually encode your body data using quoted-printable. Just
> changing the headers does not do it. Using quoted-printable 8 bit and
> non-printable characters are transformed in escaped sequences of ASCII
> (7 bit) characters.
>

Alright, I'll give that a try, and report back. Thanks.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация