IETF Policy on Character Sets and Languages
RFC 2277 устанавливает для процесса стандартизации IETF практику интернационализации интернет-протоколов. Протоколы ДОЛЖНЫ (MUST) указывать charset для всех символьных данных и обеспечивать возможность использования UTF-8 для любого текста. Протоколы, передающие текст, ДОЛЖНЫ (MUST) предусматривать передачу информации о языке текста; для текста, предъявляемого пользователю в ответ на его действия, ДОЛЖНА (MUST) поддерживаться работа с несколькими языками. В документах, затрагивающих вопросы интернационализации, рекомендуется (SHOULD) собирать принятые решения в разделе «Internationalization Considerations» рядом с разделом Security Considerations.
Network Working Group H. Alvestrand
Request for Comments: 2277 UNINETT
BCP: 18 January 1998
Category: Best Current Practice
Политика IETF в отношении наборов символов и языков
Статус этого документа
Этот документ устанавливает Лучшие современные практики Интернета для интернет-сообщества и запрашивает обсуждение и предложения по улучшениям. Распространение этого меморандума не ограничено.
Уведомление об авторских правах
Copyright (C) The Internet Society (1998). All Rights Reserved.
1. Введение
Интернет является международным.
Международный характер Интернета влечёт абсолютную необходимость обмениваться данными на множестве языков, в которых, в свою очередь, используется ошеломляющее число символов.
Этот документ содержит текущие политики, применяемые Internet Engineering Steering Group (IESG) к работам по стандартизации в Internet Engineering Task Force (IETF), чтобы помочь интернет-протоколам выполнить эти требования.
Документ в значительной степени основан на рекомендациях семинара IAB по наборам символов, проведённого 29 февраля — 1 марта 1996 года и задокументированного в RFC 2130 [WR]. Этот документ стремится быть кратким, явным и ясным; желающим получить больше исходных сведений рекомендуется прочитать RFC 2130.
В документе термины 'MUST', 'SHOULD' и 'MAY', а также их отрицательные формы используются в смысле, описанном в [RFC 2119]. В данном случае «спецификация» в смысле RFC 2119 относится к обработке протоколов, представляемых в процесс стандартизации IETF.
2. Где выполнять интернационализацию
Интернационализация предназначена для людей. Это означает, что интернационализации подлежат не протоколы, а текстовые строки. Если элементы протокола выглядят как текстовые лексемы, как во многих протоколах прикладного уровня IETF, протоколы ДОЛЖНЫ (MUST) указывать, какие части являются протоколом, а какие — текстом. [WR 2.2.1.1]
Имена представляют проблему, поскольку люди придают им большое значение, многие из них главным образом предназначены для локального использования, и все они время от времени выходят за пределы локального контекста. RFC 1958 [RFC 1958] рекомендует US-ASCII для всех глобально видимых имён.
Этот документ не предписывает политику интернационализации имён, но требует, чтобы все протоколы описывали, являются ли имена интернационализированными или US-ASCII.
ПРИМЕЧАНИЕ: В стеке протоколов для любого конкретного приложения обычно есть один или несколько уровней, которым необходимо решать эти проблемы.
Например, было бы неуместно определять языковые метки для кадров Ethernet. Однако рабочие группы (WG) несут ответственность за то, чтобы, когда ответственность за интернационализацию оставляется «другому уровню», ответственные за этот уровень действительно знали, что такая ответственность У НИХ есть.
3. Определение терминов
В этом документе термин «charset» означает набор правил отображения последовательности октетов в последовательность символов, например сочетание кодированного набора символов и схемы кодирования символов; это также то, что используется как идентификатор в параметрах MIME "charset=" и регистрируется в реестре наборов символов IANA [REG]. (Обратите внимание, что это НЕ термин, используемый другими органами по стандартизации, например ISO.)
Определение термина «coded character set» см. в отчёте о семинаре.
«Имя» — это идентификатор, такой как имя человека, имя хоста, доменное имя, имя файла или адрес E-mail; его часто рассматривают как идентификатор, а не как фрагмент текста, и часто используют в протоколах как идентификатор сущностей без окружающего текста.
3.1. Какой набор символов использовать
Все протоколы ДОЛЖНЫ (MUST) для всех символьных данных указывать, какой набор символов используется.
Протоколы ДОЛЖНЫ (MUST) быть способны использовать для всего текста набор символов UTF-8, состоящий из кодированного набора символов ISO 10646 в сочетании со схемой кодирования символов UTF-8, как определено в приложении R к [10646] (опубликованном в Amendment 2).
Протоколы МОГУТ (MAY) дополнительно определять, как использовать другие наборы символов или другие схемы кодирования символов для ISO 10646, например UTF-16, но отсутствие возможности использовать UTF-8 является нарушением этой политики; для такого нарушения до включения в путь стандартов или продвижения по нему потребовалась бы процедура отклонения ([BCP9], раздел 9) с ясным и убедительным обоснованием в документе спецификации протокола.
Для существующих протоколов или протоколов, перемещающих данные из существующих хранилищ данных, поддержка других наборов символов или даже использование значения по умолчанию, отличного от UTF-8, может быть требованием. Это допустимо, но поддержка UTF-8 ДОЛЖНА (MUST) быть возможна.
При использовании наборов символов, отличных от UTF-8, они ДОЛЖНЫ (MUST) быть зарегистрированы в реестре наборов символов IANA; при необходимости они регистрируются при публикации протокола.
(Примечание: ISO 10646 называет UTF-8 CES «Transformation Format», а не «character encoding scheme», но он соответствует приведённому в отчёте о семинаре определению схемы кодирования символов.)
3.2. Как выбирать набор символов
Когда протокол допускает выбор из нескольких наборов символов, кто-то должен принять решение о том, какой набор символов использовать.
В некоторых случаях, например HTTP, между производителем и потребителем данных, содержащих текст, существует прямое или полупрямое взаимодействие. В таких случаях может быть разумно согласовать набор символов до отправки данных.
В других случаях, например для E-mail или хранимых данных, такого взаимодействия нет, и лучшее, что можно сделать, — обеспечить, чтобы набор символов был ясно указан вместе с хранимыми данными, и выбрать настолько широко известный набор символов, насколько это возможно.
Обратите внимание, что набор символов является абсолютным условием; текст, закодированный в наборе символов, невозможно понятным образом отобразить без поддержки этого набора символов.
(Это относится и к английским текстам; такие наборы символов, как EBCDIC, НЕ содержат ASCII как корректное подмножество.)
Согласование набора символов можно рассматривать как промежуточный механизм, который следует поддерживать, пока поддержка обмена UTF-8 не станет распространённой; однако срок этой «промежуточности» может составлять не менее 50 лет, поэтому есть все основания считать этот механизм постоянным на практике.
4. Языки
4.1. Необходимость языковой информации
У любого текста, читаемого человеком, есть язык.
Многие операции, включая высококачественное форматирование, синтез речи из текста, поиск, переносы, проверку орфографии и так далее, существенно выигрывают от доступа к информации о языке фрагмента текста. [WC 3.1.1.4]
Люди обладают некоторой терпимостью к иностранным языкам, но, как правило, очень недовольны, когда им предъявляют текст на языке, которого они не понимают; именно поэтому необходимо согласование языка.
В большинстве случаев машины не смогут самостоятельно определить язык переданного текста; протокол должен указывать, как передавать языковую информацию, если она вообще должна быть доступна.
Взаимодействие языка и обработки сложно; например, если я сравниваю "name-of-thing(lang=en)" с "name-of-thing(lang=no)" на равенство, я, как правило, ожидаю совпадения, тогда как слово "ask(no)" обозначает вид дерева и едва ли полезно в качестве глагола-команды.
4.2. Требование к языковой маркировке
Протоколы, передающие текст, ДОЛЖНЫ (MUST) обеспечивать передачу информации о языке этого текста.
Протоколам также СЛЕДУЕТ (SHOULD) обеспечивать передачу информации о языке имён там, где это уместно.
Обратите внимание, что это НЕ означает, что такая информация должна всегда присутствовать; требование состоит в том, что если отправитель информации хочет передать информацию о языке текста, протокол предоставляет чётко определённый способ передачи этой информации.
4.3. Как идентифицировать язык
Языковая метка RFC 1766 в настоящее время является наиболее гибким доступным средством для идентификации языка; протоколам СЛЕДУЕТ (SHOULD) использовать её либо предоставить в документе ясное и убедительное обоснование для иного решения.
Также обратите внимание, что язык отличается от локали POSIX; локаль POSIX определяет набор культурных соглашений, которые могут подразумевать язык (локали POSIX или "C", разумеется, этого не делают), тогда как языковая метка, описанная в RFC 1766, идентифицирует только язык.
4.4. Соображения для согласования языка
Протоколы, в которых пользователям предъявляется текст в ответ на действия пользователя, ДОЛЖНЫ (MUST) поддерживать несколько языков.
Способ реализации этого будет различаться между протоколами; например, в одних случаях уместно согласование, при котором клиент предлагает набор языков, а сервер отвечает одним из них; в других случаях сервер может отправить несколько вариантов текста и позволить клиенту выбрать, какой из них отображать.
Согласование полезно, когда одна сторона обмена по протоколу способна представить другой стороне текст на нескольких языках, а другая сторона имеет предпочтение в отношении одного из них; наиболее распространённый пример — текстовая часть ответов об ошибках или веб-страницы, доступные на нескольких языках.
Согласование языка следует рассматривать как постоянное требование протокола, которое не исчезнет в какой-либо момент в будущем.
Во многих случаях должна быть возможность включить его в установление соединения вместе с аутентификацией и согласованием других предпочтений.
4.5. Язык по умолчанию
Когда текст, читаемый человеком, должен быть представлен в контексте, в котором отправитель не знает языковых предпочтений получателя (например, при неудачах входа в систему, предупреждениях, отправленных по E-mail, или до согласования языка), текст СЛЕДУЕТ (SHOULD) представлять на языке по умолчанию.
Языку по умолчанию присвоена метка "i-default" согласно процедурам RFC 1766. Это не конкретный язык, а обозначение условия, при котором нельзя установить языковые предпочтения пользователя.
Сообщения на языке по умолчанию ДОЛЖНЫ (MUST) быть понятны англоговорящему человеку, поскольку английский — это язык, на котором во всём мире наибольшее число людей сможет получить достаточную помощь в толковании при работе с компьютерами.
Обратите внимание, что согласование английского НЕ равнозначно языку по умолчанию; язык по умолчанию — экстренная мера для ситуаций, которые иначе не поддаются управлению.
Во многих случаях разумно использовать только английский текст; в некоторых случаях английский текст может быть дополнен текстом на других языках.
5. Локаль
Стандарт POSIX [POSIX] определяет понятие, называемое «locale», которое включает много информации о порядке сортировки, формате даты, формате валюты и так далее.
В некоторых случаях, особенно для текста, который пользователь должен обрабатывать, к тексту может быть полезно присоединить информацию о локали; она выражала бы мнение отправителя о надлежащих правилах, которым следует следовать при обработке документа, с которым получатель может согласиться или которое может проигнорировать.
Этот документ не требует передачи информации о локали для всего текста, но поощряет её включение там, где это уместно.
Обратите внимание, что информация о языке и наборе символов часто будет присутствовать как части метки локали (например, no_NO.iso-8859-1; язык находится перед символом подчёркивания, а набор символов — после точки); необходимо позаботиться о точном определении, какая спецификация набора символов и языка применяется к каждому элементу текста.
Локалью по умолчанию является локаль "POSIX".
6. Документирование решений по интернационализации
В документах, вообще затрагивающих вопросы интернационализации, краткое описание выбранных подходов к интернационализации СЛЕДУЕТ (SHOULD) собрать в раздел с названием "Internationalization considerations" и разместить рядом с разделом Security Considerations.
Это предоставляет удобную справку тем, кто ищет рекомендации по этим вопросам при реализации протокола.
7. Соображения безопасности
Помимо того факта, что предупреждения безопасности на иностранном языке могут вызвать ненадлежащее поведение пользователя, и того факта, что многоязычные системы обычно имеют проблемы с согласованностью между языковыми вариантами, не выявлено соображений безопасности, относящихся к данному документу.
8. Ссылки
[10646]
ISO/IEC, Information Technology - Universal Multiple-Octet Coded
Character Set (UCS) - Part 1: Architecture and Basic
Multilingual Plane, May 1993, with amendments
[RFC 2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[WR] Weider, C., Preston, C., Simonsen, K., Alvestrand, H,
Atkinson, R., Crispin, M., and P. Svanberg, "The Report of the
IAB Character Set Workshop held 29 February - 1 March, 1996",
RFC 2130, April 1997.[RFC 1958]
Carpenter, B., "Architectural Principles of the Internet", RFC
1958, June 1996.
[POSIX]
ISO/IEC 9945-2:1993 Information technology -- Portable Operating
System Interface (POSIX) -- Part 2: Shell and Utilities
[REG]
Freed, N., and J. Postel, "IANA Charset Registration
Procedures", BCP 19, RFC 2278, January 1998.
[UTF-8]
Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC
2279, January 1998.
[BCP9]
Bradner, S., "The Internet Standards Process -- Revision 3," BCP
9, RFC 2026, October 1996.
Alvestrand Лучшая современная практика [Страница 7]
RFC 2277 Политика наборов символов Январь 1998
9. Адрес автора
Harald Tveit Alvestrand
UNINETT
P.O.Box 6883 Elgeseter
N-7002 TRONDHEIM
NORWAY
Phone: +47 73 59 70 94
EMail: Harald.T.Alvestrand@uninett.no
Alvestrand Лучшая современная практика [Страница 8]
RFC 2277 Политика наборов символов Январь 1998
10. Полное заявление об авторских правах
Copyright (C) The Internet Society (1998). Все права защищены.
Этот документ и его переводы могут копироваться и предоставляться
другим лицам, а производные работы, содержащие комментарии к нему,
иным образом разъясняющие его или содействующие его реализации,
могут подготавливаться, копироваться, публиковаться и распространяться,
полностью или частично, без каких-либо ограничений, при условии, что
приведённое выше уведомление об авторских правах и настоящий абзац
включаются во все такие копии и производные работы. Однако сам этот
документ не может быть изменён каким-либо образом, например путём удаления
уведомления об авторских правах или ссылок на Internet Society либо другие
интернет-организации, за исключением случаев, когда это необходимо для
разработки интернет-стандартов, при которой должны соблюдаться процедуры
в отношении авторских прав, определённые в процессе разработки интернет-
стандартов, или когда это требуется для перевода документа на языки,
отличные от английского.
Предоставленные выше ограниченные разрешения являются бессрочными и не
будут отозваны Internet Society либо его правопреемниками или цессионариями.
Этот документ и содержащаяся в нём информация предоставляются на условиях
«КАК ЕСТЬ» («AS IS»), И INTERNET SOCIETY И INTERNET ENGINEERING TASK FORCE
ОТКАЗЫВАЮТСЯ ОТ ВСЕХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО
ПРОЧЕГО, ЛЮБУЮ ГАРАНТИЮ ТОГО, ЧТО ИСПОЛЬЗОВАНИЕ СОДЕРЖАЩЕЙСЯ ЗДЕСЬ
ИНФОРМАЦИИ НЕ НАРУШИТ КАКИЕ-ЛИБО ПРАВА, А ТАКЖЕ ЛЮБЫЕ ПОДРАЗУМЕВАЕМЫЕ
ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ ИЛИ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ.
Alvestrand Лучшая современная практика [Страница 9]
Network Working Group H. Alvestrand
Request for Comments: 2277 UNINETT
BCP: 18 January 1998
Category: Best Current Practice
IETF Policy on Character Sets and Languages
Status of this Memo
This document specifies an Internet Best Current Practices for the
Internet Community, and requests discussion and suggestions for
improvements. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
1. Introduction
The Internet is international.
With the international Internet follows an absolute requirement to
interchange data in a multiplicity of languages, which in turn
utilize a bewildering number of characters.
This document is the current policies being applied by the Internet
Engineering Steering Group (IESG) towards the standardization efforts
in the Internet Engineering Task Force (IETF) in order to help
Internet protocols fulfill these requirements.
The document is very much based upon the recommendations of the IAB
Character Set Workshop of February 29-March 1, 1996, which is
documented in RFC 2130 [WR]. This document attempts to be concise,
explicit and clear; people wanting more background are encouraged to
read RFC 2130.
The document uses the terms 'MUST', 'SHOULD' and 'MAY', and their
negatives, in the way described in [RFC 2119]. In this case, 'the
specification' as used by RFC 2119 refers to the processing of
protocols being submitted to the IETF standards process.
Alvestrand Best Current Practice [Page 1]
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 [Page 2]
RFC 2277 Charset Policy January 1998
Protocols MUST be able to use the UTF-8 charset, which consists of
the ISO 10646 coded character set combined with the UTF-8 character
encoding scheme, as defined in [10646] Annex R (published in
Amendment 2), for all text.
Protocols MAY specify, in addition, how to use other charsets or
other character encoding schemes for ISO 10646, such as UTF-16, but
lack of an ability to use UTF-8 is a violation of this policy; such a
violation would need a variance procedure ([BCP9] section 9) with
clear and solid justification in the protocol specification document
before being entered into or advanced upon the standards track.
For existing protocols or protocols that move data from existing
datastores, support of other charsets, or even using a default other
than UTF-8, may be a requirement. This is acceptable, but UTF-8
support MUST be possible.
When using other charsets than UTF-8, these MUST be registered in the
IANA charset registry, if necessary by registering them when the
protocol is published.
(Note: ISO 10646 calls the UTF-8 CES a "Transformation Format" rather
than a "character encoding scheme", but it fits the charset workshop
report definition of a character encoding scheme).
3.2. How to decide a charset
When the protocol allows a choice of multiple charsets, someone must
make a decision on which charset to use.
In some cases, like HTTP, there is direct or semi-direct
communication between the producer and the consumer of data
containing text. In such cases, it may make sense to negotiate a
charset before sending data.
In other cases, like E-mail or stored data, there is no such
communication, and the best one can do is to make sure the charset is
clearly identified with the stored data, and choosing a charset that
is as widely known as possible.
Note that a charset is an absolute; text that is encoded in a charset
cannot be rendered comprehensibly without supporting that charset.
(This also applies to English texts; charsets like EBCDIC do NOT have
ASCII as a proper subset)
Alvestrand Best Current Practice [Page 3]
RFC 2277 Charset Policy January 1998
Negotiating a charset may be regarded as an interim mechanism that is
to be supported until support for interchange of UTF-8 is prevalent;
however, the timeframe of "interim" may be at least 50 years, so
there is every reason to think of it as permanent in practice.
4. Languages
4.1. The need for language information
All human-readable text has a language.
Many operations, including high quality formatting, text-to-speech
synthesis, searching, hyphenation, spellchecking and so on benefit
greatly from access to information about the language of a piece of
text. [WC 3.1.1.4].
Humans have some tolerance for foreign languages, but are generally
very unhappy with being presented text in a language they do not
understand; this is why negotiation of language is needed.
In most cases, machines will not be able to deduce the language of a
transmitted text by themselves; the protocol must specify how to
transfer the language information if it is to be available at all.
The interaction between language and processing is complex; for
instance, if I compare "name-of-thing(lang=en)" to "name-of-
thing(lang=no)" for equality, I will generally expect a match, while
the word "ask(no)" is a kind of tree, and is hardly useful as a
command verb.
4.2. Requirement for language tagging
Protocols that transfer text MUST provide for carrying information
about the language of that text.
Protocols SHOULD also provide for carrying information about the
language of names, where appropriate.
Note that this does NOT mean that such information must always be
present; the requirement is that if the sender of information wishes
to send information about the language of a text, the protocol
provides a well-defined way to carry this information.
Alvestrand Best Current Practice [Page 4]
RFC 2277 Charset Policy January 1998
4.3. How to identify a language
The RFC 1766 language tag is at the moment the most flexible tool
available for identifying a language; protocols SHOULD use this, or
provide clear and solid justification for doing otherwise in the
document.
Note also that a language is distinct from a POSIX locale; a POSIX
locale identifies a set of cultural conventions, which may imply a
language (the POSIX or "C" locale of course do not), while a language
tag as described in RFC 1766 identifies only a language.
4.4. Considerations for language negotiation
Protocols where users have text presented to them in response to user
actions MUST provide for support of multiple languages.
How this is done will vary between protocols; for instance, in some
cases, a negotiation where the client proposes a set of languages and
the server replies with one is appropriate; in other cases, a server
may choose to send multiple variants of a text and let the client
pick which one to display.
Negotiation is useful in the case where one side of the protocol
exchange is able to present text in multiple languages to the other
side, and the other side has a preference for one of these; the most
common example is the text part of error responses, or Web pages that
are available in multiple languages.
Negotiating a language should be regarded as a permanent requirement
of the protocol that will not go away at any time in the future.
In many cases, it should be possible to include it as part of the
connection establishment, together with authentication and other
preferences negotiation.
4.5. Default Language
When human-readable text must be presented in a context where the
sender has no knowledge of the recipient's language preferences (such
as login failures or E-mailed warnings, or prior to language
negotiation), text SHOULD be presented in Default Language.
Default Language is assigned the tag "i-default" according to the
procedures of RFC 1766. It is not a specific language, but rather
identifies the condition where the language preferences of the user
cannot be established.
Alvestrand Best Current Practice [Page 5]
RFC 2277 Charset Policy January 1998
Messages in Default Language MUST be understandable by an English-
speaking person, since English is the language which, worldwide, the
greatest number of people will be able to get adequate help in
interpreting when working with computers.
Note that negotiating English is NOT the same as Default Language;
Default Language is an emergency measure in otherwise unmanageable
situations.
In many cases, using only English text is reasonable; in some cases,
the English text may be augumented by text in other languages.
5. Locale
The POSIX standard [POSIX] defines a concept called a "locale", which
includes a lot of information about collating order for sorting, date
format, currency format and so on.
In some cases, and especially with text where the user is expected to
do processing on the text, locale information may be usefully
attached to the text; this would identify the sender's opinion about
appropriate rules to follow when processing the document, which the
recipient may choose to agree with or ignore.
This document does not require the communication of locale
information on all text, but encourages its inclusion when
appropriate.
Note that language and character set information will often be
present as parts of a locale tag (such as no_NO.iso-8859-1; the
language is before the underscore and the character set is after the
dot); care must be taken to define precisely which specification of
character set and language applies to any one text item.
The default locale is the "POSIX" locale.
6. Documenting internationalization decisions
In documents that deal with internationalization issues at all, a
synopsis of the approaches chosen for internationalization SHOULD be
collected into a section called "Internationalization
considerations", and placed next to the Security Considerations
section.
This provides an easy reference for those who are looking for advice
on these issues when implementing the protocol.
Alvestrand Best Current Practice [Page 6]
RFC 2277 Charset Policy January 1998
7. Security Considerations
Apart from the fact that security warnings in a foreign language may
cause inappropriate behaviour from the user, and the fact that
multilingual systems usually have problems with consistency between
language variants, no security considerations relevant have been
identified.
8. References
[10646]
ISO/IEC, Information Technology - Universal Multiple-Octet Coded
Character Set (UCS) - Part 1: Architecture and Basic
Multilingual Plane, May 1993, with amendments
[RFC 2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[WR] Weider, C., Preston, C., Simonsen, K., Alvestrand, H,
Atkinson, R., Crispin, M., and P. Svanberg, "The Report of the
IAB Character Set Workshop held 29 February - 1 March, 1996",
RFC 2130, April 1997.
[RFC 1958]
Carpenter, B., "Architectural Principles of the Internet", RFC
1958, June 1996.
[POSIX]
ISO/IEC 9945-2:1993 Information technology -- Portable Operating
System Interface (POSIX) -- Part 2: Shell and Utilities
[REG]
Freed, N., and J. Postel, "IANA Charset Registration
Procedures", BCP 19, RFC 2278, January 1998.
[UTF-8]
Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC
2279, January 1998.
[BCP9]
Bradner, S., "The Internet Standards Process -- Revision 3," BCP
9, RFC 2026, October 1996.
Alvestrand Best Current Practice [Page 7]
RFC 2277 Charset Policy January 1998
9. Author's Address
Harald Tveit Alvestrand
UNINETT
P.O.Box 6883 Elgeseter
N-7002 TRONDHEIM
NORWAY
Phone: +47 73 59 70 94
EMail: Harald.T.Alvestrand@uninett.no
Alvestrand Best Current Practice [Page 8]
RFC 2277 Charset Policy January 1998
10. Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Alvestrand Best Current Practice [Page 9]