RFC 2277 (rfc2277) - Page 2 of 9
IETF Policy on Character Sets and Languages
Alternative Format: Original Text Document
RFC 2277 Charset Policy January 1998
2. Where to do internationalization
Internationalization is for humans. This means that protocols are not
subject to internationalization; text strings are. Where protocol
elements look like text tokens, such as in many IETF application
layer protocols, protocols MUST specify which parts are protocol and
which are text. [WR 2.2.1.1]
Names are a problem, because people feel strongly about them, many of
them are mostly for local usage, and all of them tend to leak out of
the local context at times. RFC 1958 [RFC 1958] recommends US-ASCII
for all globally visible names.
This document does not mandate a policy on name internationalization,
but requires that all protocols describe whether names are
internationalized or US-ASCII.
NOTE: In the protocol stack for any given application, there is
usually one or a few layers that need to address these problems.
It would, for instance, not be appropriate to define language tags
for Ethernet frames. But it is the responsibility of the WGs to
ensure that whenever responsibility for internationalization is left
to "another layer", those responsible for that layer are in fact
aware that they HAVE that responsibility.
3. Definition of Terms
This document uses the term "charset" to mean a set of rules for
mapping from a sequence of octets to a sequence of characters, such
as the combination of a coded character set and a character encoding
scheme; this is also what is used as an identifier in MIME "charset="
parameters, and registered in the IANA charset registry [REG]. (Note
that this is NOT a term used by other standards bodies, such as ISO).
For a definition of the term "coded character set", refer to the
workshop report.
A "name" is an identifier such as a person's name, a hostname, a
domainname, a filename or an E-mail address; it is often treated as
an identifier rather than as a piece of text, and is often used in
protocols as an identifier for entities, without surrounding text.
3.1. What charset to use
All protocols MUST identify, for all character data, which charset is
in use.
Alvestrand Best Current Practice