Re: UUCP, etc., and SMTP/822/MIME mail (was: Re: I-D ACTION:draft-hoffman-utf8headers-00.txt)

John C Klensin <[email protected]> Thu, 01 Jan 2004 14:42:13 -0500
Newsgroups gmane.ietf.imaa
Message-ID <[email protected]>


--On Thursday, 01 January, 2004 14:11 -0500 Keith Moore 
<[email protected]> wrote:

>> > at the time we were working on what became RFC 1342 we
>> > realized that a single header field to tag the charset used
>> > throughout the header would not be sufficient, because
>> > different parts of the header are generated by different
>> > agents on different machines.   one of the reasons for 1342
>> > was to be able to encode such things in ASCII, but another
>> > reason was to be able to tag each bit of human-readable text
>> > with a separate charset.  what we might be finding out is
>> > that it's not reasonable to expect everyone to use utf-8,
>> > and that we're going to continue to need to deal with
>> > multiple charsets (though perhaps fewer than are in use
>> > now) perhaps including different charsets in different
>> > parts of the message header.
>>
>> Keith, while I agreed with (and strongly supported) that
>> reasoning at the time, in the ensuing eleven or so years
>> Unicode  (and maybe UTF-8) have achieved sufficient adoption
>> that it  might now be reasonable to say "systems injecting
>> non-ASCII  characters into header fields or equivalent
>> contexts are  required to take responsibility for converting
>> to UTF-8"...
>
> that's onerous but more-or-less doable.  what doesn't seem
> doable is to prevent subsequent systems that handle the
> message (or reply to it) from adding their own, non-utf-8,
> header contents.

I'm not sure I see the issue.  At one level, nothing can prevent 
anything or anyone from adding trash, anywhere they like.  In 
particular, nothing prevents someone from putting things into 
2047 (or content-type: text/plain, charset=foo) form and lying 
about the charset in use today.  If they do, they are violating 
the standard and screwing their users, but, obviously, some 
folks won't care.   At another level, if there is a 
specification that says "if you add 8bit header content, it must 
be UTF-8; anything else must either be converted into RFC 2047 
form or must be converted to UTF-8", then we are probably ok. 
If receiving systems are going to interpret any 8bit content 
they get as UTF-8 (or invalid, if it doesn't meet UTF-8 coding 
rules) then people (or sending MUAs or MTAs) who violate that 
rule are just going to screw their users.  This is a "today, any 
8bit info is invalid; when we make it valid, we are going to 
define the one valid case" situation not one in which codings 
that are valid today are suddenly given a new meaning or 
interpretation.

We _could_ have adopted a rigid, Unicode-only, rule a decade ago 
rather than doing charset-specific tagging in text content types 
and 2047 encodings.  It would have made many things more simple. 
But it would not have been practical, since, despite the claims 
and optimism of their advocates, Unicode (in UTF-8 form or 
otherwise) wasn't nearly widely enough deployed.   But, in the 
ensuing years, it has gotten more widely deployed and, at least 
as important, we have made a number of other decisions and 
standards, including IDNA, that assume it.   So a "UTF-8 only" 
decision just takes a step further down a path to which we are 
clearly already committed.

   regards,
      john