|
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.
[Back to original message]
|