the "Swedish characters" (å, ä, ö) [..] show up as E4, E5 and F6 instead. The e-mail itself says charset=iso-8859-1.
The character set might very well be ISO 8859-1, still the email itself might be encoded as well. I guess you would find
Content-Transfer-Encoding: quoted-printable in the source of message. And I expect you to see lots of equals-signs as well, like
=E6, and equal-signs at the end of auto-wrapped lines?
In ISO 8859-1, E4 is indeed the hexadecimal value for ä, E5 is å and F6 is ö. In quoted-printable those are encoded as
=E6†. It seems that the email client of the recipient is not decoding properly. Hence:
Do all recipients complain, or is it always the same few people?
Can you show us the source of a very small test message?
Can you configure Hotmail to always use Unicode (or UTF-8 encoding) instead?
- Apparently, Hotmail does support Unicode.
- If there's no preference in Hotmail then Hotmail might be acting upon the encoding as received from the browser. Manually selecting the encoding of the Compose Message window might help then. (But that would be a hack, really, as that encoding should affect the viewing of that compose window.)
- Manually selecting the encoding might no longer be needed since Live Hotmail, if Live Hotmail indeed serves pages in UTF-8, and hence your browser might (I am not sure!) also send back data in UTF-8?
- Maybe Hotmail is using different encodings for different browsers (like based on the order in the browser's
Accept-Charset header), or even for different languages...?
- Maybe using a single true Unicode character (what about a Unicode smiley?) while composing a message might make the browser send Unicode to the server, and make Hotmail encode the message in Unicode then?
† In UTF-8, ä, å and ö encode to hexadecimal C3A4, C3A5 and C3B6. These show as Ã¤, Ã¥ and Ã¶ when not decoded properly. Or, in quoted-printable this will be
=C3=B6. So, using Unicode (more specifically: UTF-8) will slightly increase the length of the message, but might save you from trouble, especially when mixing with other Unicode characters.