ietf-822
[Top] [All Lists]

Re: Getting RFC 2047 encoding right

2003-12-12 06:18:22

Keith Moore writes:
On Dec 12, 2003, at 5:42 AM, Arnt Gulbrandsen wrote:
The MUA has a choice. Either is can be conservative in what it generates and liberal in what it accepts, or it can blindly generate whatever it accepts, or it can make a smart judgment.

To me, being conservative in what it generates means not decoding and reencoding things it doesn't understand from a message being replied-to - it means keeping things as they are.

I agree. But what "are" things when a MUA sends a reply? IMO, things "are" whatever the user sees on-sceen when issuing the "send" command, and that is what MUA should keep.

Suppose the original message had "Subject: =?latin_1?q?The price is =80216". The MUA fuzzily matches latin_1 to the IANA-defined alias latin1, knows about the Microsoft breakage, and presents the user with "Subject: The price is €216".

The user types a reply indicating acceptance and hits the send button. What should the MUA use as encoded subject?

1. "Subject: Re: The price is =?latin_1?q?=80216", ie. something matching what the original sender meant, but not necessarily matching what the user saw and agreed to.

2. "Subject: Re: The price is =?iso-8859-15?q?=A4216", ie. something that unambiguously describes what user chose to send.

If you don't know what latin_1 is, then you can't make any sense of the 0x80 anyway. You might as well keep it in the reply.

I disagree. The reply is a message from the user to the recipient(s), and should faithfully encode whatever the user saw and typed. The MUA SHOULD NOT substitute some other text of unknown meaning for its user's text.

There are almost certainly still some unregistered charsets in use in some communities, and some new charsets are being added from time to time. You can't really expect your software to be aware of all of them. It makes sense to make your software tolerant of charsets it doesn't understand yet.

Sure. But misrepresenting the user does not make sense to me.

--Arnt