RFC 3808
IANA Charset MIB
RFC 3808: IANA Charset MIB π
Okay bestie, this one is from June 2004, written by I. McDonald at High North, and it's Informational, so it's not a standard, just info for the Internet community π. The header doesn't list anything it obsoletes or updates, so it stands on its own β¨. Network Working Group, filed under the IANA Charset MIB. Let's get into it π
Status of This Memo β¨
This memo gives information to the Internet community. It is not an Internet standard of any kind, and you can distribute it however you want πΈ
Copyright Notice π¦
Copyright (C) The Internet Society (2004).
Abstract π
This memo defines a piece of the Management Information Base (MIB), the data model used by network management protocols across the Internet π§ This IANA Charset MIB is now an IANA registry, which is very official and very iconic π The main star is one textual convention, 'IANACharset', which you can use to name charset labels inside MIB objects. It was pulled out of Printer MIB v2 (RFC 3805), and it was originally defined (and wrongly named) as 'CodedCharSet' back in Printer MIB v1 (RFC 1759), so yeah, it had a glow-up π There's also a C tool that IANA can use to regenerate this MIB whenever new charsets get registered under the IANA Charset Registration Procedures (RFC 2978) π
Table of Contents π
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conformance Terminology . . . . . . . . . . . . . . . . 2
1.2. Charset Terminology . . . . . . . . . . . . . . . . . . 2
2. The Internet-Standard Management Framework. . . . . . . . . . 2
3. Generation of IANA Charset MIB. . . . . . . . . . . . . . . . 3
4. Definition of IANA Charset MIB. . . . . . . . . . . . . . . . 3
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
6. Internationalization Considerations . . . . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. Acknowledgements. . . . . . . . . . . . . . . . . . . . . . . 11
9. References. . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Normative References. . . . . . . . . . . . . . . . . . 11
9.2. Informative References. . . . . . . . . . . . . . . . . 12
10. Authors' Addresses. . . . . . . . . . . . . . . . . . . . . . 13
11. Full Copyright Statement. . . . . . . . . . . . . . . . . . . 14
1. Introduction π¦
Okay so this IANA Charset MIB [CHARMIB] module defines exactly one textual convention, 'IANACharset'. Once it's adopted, every future version of the IANA Charset MIB [CHARMIB] may be machine-generated whenever IANA staff update the IANA Charset Registry [CHARSET] following the procedures in [RFC2978]. You can use the utility [CHARGEN] from section 3 of this document, or any other machine-generation method, and it's giving efficiency π«Ά
It is strongly recommended that future updates to the IANA Charset MIB [CHARMIB] be machine-generated (rather than hand-edited). The reason is to avoid asynchrony between the IANA Charset Registry [CHARSET] and the IANA Charset MIB [CHARMIB], because nobody wants them drifting apart π
Note: Questions and comments on this IANA Charset MIB [CHARMIB] should go to the editor atimcdonald@sharplabs.comand to IANA atiana@iana.org, with a copy to the IETF Charsets mailing list atietf-charset@iana.orgπ¬
1.1. Conformance Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read as described in BCP 14, RFC 2119 [RFC2119]. Those are the rules for how strong each word is, so pay attention to them π₯
1.2. Charset Terminology
These terms show up in this spec exactly as they're defined in section 1 'Definitions and Notation' of the IANA Charset Registration Procedures [RFC2978]: "character", "charset", "coded character set (CCS)", and "character encoding scheme (CES)". Same words, same meaning, no vibes-based definitions π
2. The Internet-Standard Management Framework π§
If you want the big picture on the Internet-Standard Management Framework, go check section 7 of RFC 3410 [RFC3410]. It's the overview, and it's worth a read π
Managed objects live in a virtual information store called the Management Information Base, or MIB. People usually reach MIB objects through the Simple Network Management Protocol (SNMP). The objects get defined using the mechanisms in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant with SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579], and STD 58, RFC 2580 [RFC2580] πΈ
3. Generation of IANA Charset MIB π
Intellectual Property: The C language utility 'ianachar.c' [CHARGEN] and the IANA Charset MIB template file [CHARTEMP] are hereby donated by the author (Ira McDonald) to IANA, in perpetuity, free of license or any other restraint. Generous, iconic, no strings attached π
The [CHARGEN] utility can generate an updated version of the 'IANACharset' textual convention. It does this by reading and parsing the IANA Charset Registry [CHARSET], which is currently plaintext π
Here's how the utility parses each charset registration, looking for (in order):
- The 'Name' field, which gets saved as a fallback (more on that below) π©·
- The 'MIBenum' field, which holds the IANA-assigned positive decimal enum value; and
- The (usually present) 'Alias' field that begins with 'cs', which holds the IANA-assigned enum label. If there's no 'Alias' field, the utility builds one from the 'Name' field by:
- Starting the enum label with a lowercase 'cs' prefix;
- Copying only alpha/numeric characters from the 'Name' field into the enum label, ignoring punctuation, whitespace, and so on π§
That's the end of Part 1. Section 4, the actual MIB module definition, is up next, so stay tuned π β¨
IANACharset ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Specifies an IANA registered 'charset' - coded character set
(CCS) plus optional character encoding scheme (CES) - terms
defined in 'IANA Charset Registration Procedures' (RFC 2978).
Objects of this syntax are used to specify the encoding for
string objects defined in one or more MIBs. For example, the
prtLocalizationCharacterSet, prtInterpreterDefaultCharSetIn, and
prtInterpreterDefaultCharSetOut objects defined in Printer MIB.
The current list of 'charset' names and enumerated values
is contained in the IANA Character Set Registry at:
http://www.iana.org/assignments/character-sets
Enum names are derived from the IANA Charset Registry 'Alias'
fields that begin with 'cs' (for character set).
Enum values are derived from the parallel 'MIBenum' fields."
SYNTAX INTEGER {
other(1), -- used if the designated
-- character set is not currently
-- registered by IANA
unknown(2), -- used as a default value
csASCII(3),
csISOLatin1(4),
csISOLatin2(5),
csISOLatin3(6),
csISOLatin4(7),
csISOLatinCyrillic(8),
csISOLatinArabic(9),
csISOLatinGreek(10),
csISOLatinHebrew(11),
csISOLatin5(12),
csISOLatin6(13),
csISOTextComm(14),
csHalfWidthKatakana(15),
csJISEncoding(16),
csShiftJIS(17),
csEUCPkdFmtJapanese(18),
csEUCFixWidJapanese(19),
csISO4UnitedKingdom(20),
csISO11SwedishForNames(21),
csISO15Italian(22),
csISO17Spanish(23),
csISO21German(24),
csISO60DanishNorwegian(25),
csISO69French(26),
csISO10646UTF1(27),
csISO646basic1983(28),
csINVARIANT(29),
csISO2IntlRefVersion(30),
csNATSSEFI(31),
csNATSSEFIADD(32),
csNATSDANO(33),
csNATSDANOADD(34),
csISO10Swedish(35),
csKSC56011987(36),
csISO2022KR(37),
csEUCKR(38),
csISO2022JP(39),
csISO2022JP2(40),
csISO13JISC6220jp(41),
csISO14JISC6220ro(42),
csISO16Portuguese(43),
csISO18Greek7Old(44),
csISO19LatinGreek(45),
csISO25French(46),
csISO27LatinGreek1(47),
csISO5427Cyrillic(48),
csISO42JISC62261978(49),
csISO47BSViewdata(50),
csISO49INIS(51),
csISO50INIS8(52),
csISO51INISCyrillic(53),
csISO54271981(54),
csISO5428Greek(55),
csISO57GB1988(56),
csISO58GB231280(57),
csISO61Norwegian2(58),
csISO70VideotexSupp1(59),
csISO84Portuguese2(60),
csISO85Spanish2(61),
csISO86Hungarian(62),
csISO87JISX0208(63),
csISO88Greek7(64),
csISO89ASMO449(65),
csISO90(66),
csISO91JISC62291984a(67),
csISO92JISC62991984b(68),
csISO93JIS62291984badd(69),
csISO94JIS62291984hand(70),
csISO95JIS62291984handadd(71),
csISO96JISC62291984kana(72),
csISO2033(73),
csISO99NAPLPS(74),
csISO102T617bit(75),
csISO103T618bit(76),
csISO111ECMACyrillic(77),
csa71(78),
csa72(79),
csISO123CSAZ24341985gr(80),
csISO88596E(81),
csISO88596I(82),
csISO128T101G2(83),
csISO88598E(84),
csISO88598I(85),
csISO139CSN369103(86),
csISO141JUSIB1002(87),
csISO143IECP271(88),
csISO146Serbian(89),
csISO147Macedonian(90),
csISO150(91),
csISO151Cuba(92),
csISO6937Add(93),
csISO153GOST1976874(94),
csISO8859Supp(95),
csISO10367Box(96),
csISO158Lap(97),
csISO159JISX02121990(98),
csISO646Danish(99),
csUSDK(100),
csDKUS(101),
csKSC5636(102),
csUnicode11UTF7(103),
csISO2022CN(104),
csISO2022CNEXT(105),
csUTF8(106),
csISO885913(109),
csISO885914(110),
csISO885915(111),
csISO885916(112),
csGBK(113),
csGB18030(114),
csOSDEBCDICDF0415(115),
csOSDEBCDICDF03IRV(116),
csOSDEBCDICDF041(117),
csUnicode(1000),
csUCS4(1001),
csUnicodeASCII(1002),
csUnicodeLatin1(1003),
csUnicodeIBM1261(1005),
csUnicodeIBM1268(1006),
csUnicodeIBM1276(1007),
csUnicodeIBM1264(1008),
csUnicodeIBM1265(1009),
csUnicode11(1010),
csSCSU(1011),
csUTF7(1012),
csUTF16BE(1013),
csUTF16LE(1014),
csUTF16(1015),
csCESU8(1016),
csUTF32(1017),
csUTF32BE(1018),
csUTF32LE(1019),
csBOCU1(1020),
csWindows30Latin1(2000),
csWindows31Latin1(2001),
csWindows31Latin2(2002),
csWindows31Latin5(2003),
csHPRoman8(2004),
csAdobeStandardEncoding(2005),
csVenturaUS(2006),
csVenturaInternational(2007),
csDECMCS(2008),
csPC850Multilingual(2009),
csPCp852(2010),
csPC8CodePage437(2011),
csPC8DanishNorwegian(2012),
csPC862LatinHebrew(2013),
csPC8Turkish(2014),
csIBMSymbols(2015),
csIBMThai(2016),
csHPLegal(2017),
csHPPiFont(2018),
csHPMath8(2019),
csHPPSMath(2020),
csHPDesktop(2021),
csVenturaMath(2022),
csMicrosoftPublishing(2023),
csWindows31J(2024),
csGB2312(2025),
csBig5(2026),
csMacintosh(2027),
csIBM037(2028),
csIBM038(2029),
csIBM273(2030),
csIBM274(2031),
csIBM275(2032),
csIBM277(2033),
csIBM278(2034),
csIBM280(2035),
csIBM281(2036),
csIBM284(2037),
csIBM285(2038),
csIBM290(2039),
csIBM297(2040),
csIBM420(2041),
csIBM423(2042),
csIBM424(2043),
csIBM500(2044),
csIBM851(2045),
csIBM855(2046),
csIBM857(2047),
csIBM860(2048),
csIBM861(2049),
csIBM863(2050),
csIBM864(2051),
csIBM865(2052),
csIBM868(2053),
csIBM869(2054),
csIBM870(2055),
csIBM871(2056),
csIBM880(2057),
csIBM891(2058),
csIBM903(2059),
csIBBM904(2060),
csIBM905(2061),
csIBM918(2062),
csIBM1026(2063),
csIBMEBCDICATDE(2064),
csEBCDICATDEA(2065),
csEBCDICCAFR(2066),
csEBCDICDKNO(2067),
csEBCDICDKNOA(2068),
csEBCDICFISE(2069),
csEBCDICFISEA(2070),
csEBCDICFR(2071),
csEBCDICIT(2072),
csEBCDICPT(2073),
csEBCDICES(2074),
csEBCDICESA(2075),
csEBCDICESS(2076),
csEBCDICUK(2077),
csEBCDICUS(2078),
csUnknown8BiT(2079),
csMnemonic(2080),
csMnem(2081),
csVISCII(2082),
csVIQR(2083),
csKOI8R(2084),
csHZGB2312(2085),
csIBM866(2086),
csPC775Baltic(2087),
csKOI8U(2088),
csIBM00858(2089),
csIBM00924(2090),
csIBM01140(2091),
csIBM01141(2092),
csIBM01142(2093),
csIBM01143(2094),
csIBM01144(2095),
csIBM01145(2096),
csIBM01146(2097),
csIBM01147(2098),
csIBM01148(2099),
csIBM01149(2100),
csBig5HKSCS(2101),
csIBM1047(2102),
csPTCP154(2103),
csAmiga1251(2104),
csKOI7switched(2105),
cswindows1250(2250),
cswindows1251(2251),
cswindows1252(2252),
cswindows1253(2253),
cswindows1254(2254),
cswindows1255(2255),
cswindows1256(2256),
cswindows1257(2257),
cswindows1258(2258),
csTIS620(2259),
reserved(3000)
}
END
5. IANA Considerations β¨
okay so IANA has already handed out a base arc in the 'mgmt' (standards track) OID tree for the 'ianaCharset' MODULE-IDENTITY π¦ It lives in the IANA Charset MIB [CHARMIB], so that's sorted, bestie π
Here's the vibe for updates: whenever a new 'charset' gets added to the IANA Charset Registry [CHARSET], a fresh version of the IANA Charset MIB [CHARMIB] may be machine-generated with the C language utility [CHARGEN] π§ that's the one described in section 3 of this document, or literally any other utility that does the job β¨
6. Internationalization Considerations π
Okay this section is giving global energy π The IANA Charset MIB [CHARMIB] defines the 'IANACharset' textual convention, and any MIB module can use it to give explicit character set labels to one or more text string objects in that module π
For example, the Printer MIB [RFC1759] has three character set label objects: 'prtLocalizationCharacterSet' (for description and console strings), 'prtInterpreterDefaultCharSetIn' (for received print job input data), and 'prtIntpreterDefaultCharSetOut' (for processed print job output data) π¨οΈπ
The IANA Charset MIB [CHARMIB] also supports putting the best practices from "IETF Policy on Character Sets and Languages" [RFC2277] into action, which is so responsible of it π«Ά
Note: okay this part is important, so listen up π Defining new MIB modules? You are STRONGLY RECOMMENDED to use the 'SnmpAdminString' textual convention defined in [RFC3411], which has a fixed character set of UTF-8 [RFC3629] πΈ And if you need locale-specific MIB objects with variable character sets, the IANA Charset MIB [CHARMIB] has you covered π
7. Security Considerations π
Real talk, this MIB module doesn't define any management objects at all π What it does is define a (set of) textual convention(s) that other MIB modules may use to define management objects. So the lowkey plot twist is that meaningful security considerations can only be written in the MIB modules that actually define management objects π
Therefore, this document has no impact on the security of the Internet π₯ Phew, big sigh of relief β¨
8. Acknowledgements π
The editor would like to thank Bert Wijnen (Lucent) for the original suggestion that the 'IANACharset' textual convention should be pulled out of Printer MIB v2 [RFC3805] π They also want to give a shoutout to Ron Bergman (Hitachi Printing Solutions) and Harry Lewis (IBM), who put in many years of effort as editors of Printer MIB v2 [RFC3805] π«Άπ
9. References π¦
9.1. Normative References
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
- [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and Languages", RFC 2277, January 1998.
- [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
- [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
- [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
- [RFC2978] Freed, N. and J. Postel, "IANA Charset Registration Procedures", BCP 19, RFC 2978, October 2000.
- [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Network Management Frameworks", STD 62, RFC 3411, December 2002.
- [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 3629, November 2003.
9.2. Informative References β¨
Okay, bestie, these are the extra-credit reads ππ Nothing here is required, but they're great for going deeper.
- [CHARGEN] IANA Charset MIB Generation Utility (archived at):
ftp://www.pwg.org/pub/pwg/pmp/tools/ianachar.c - [CHARMIB] IANA Charset MIB (in the future, to be archived at):
http://www.iana.org/assignments/ianacharset-mib - [CHARSET] IANA Charset Registry (archived at):
http://www.iana.org/assignments/character-sets - [CHARTEMP] IANA Charset MIB template file (archived at):
ftp://www.pwg.org/pub/pwg/pmp/tools/ianachar.dat - [RFC1759] Smith, R., Wright, F., Hastings, T., Zilles, S., and J. Gyllenskog. "Printer MIB", RFC 1759, March 1995. π¨οΈ
- [RFC3805] Bergman, R., Lewis, H., and I. McDonald, "Printer MIB v2", RFC 3805, June 2004. π¨οΈβ¨
- [RFC3410] Case, J., Mundy, P., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Network Management Framework", RFC 3410, December 2002. π§
10. Authors' Addresses π
Here's who made this, and how to reach them π«Ά
Ira McDonald
High North Inc
221 Ridge Ave
Grand Marais, MI 49839
USA
Phone: +1 906 494 2434
EMail: imcdonald@sharplabs.com
Internet Assigned Numbers Authority (IANA)
ICANN
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292
USA
Phone: +1 310 823 9358
EMail: iana@iana.org
Note: Questions and comments on this IANA Charset MIB [CHARMIB] should be sent to the editor (imcdonald@sharplabs.com) and IANA (iana@iana.org), with a copy to the IETF Charsets mailing list (ietf-charset@iana.org). π¨
11. Full Copyright Statement Β©οΈ
Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78. Except as set forth in BCP 78, the authors keep all of their rights. π
This document and the information in it are provided on an "AS IS" basis, and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS, AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. π
Intellectual Property
Okay, the legal stuff, but make it quick π The IETF takes no position on whether any Intellectual Property Rights or other rights that might be claimed to apply to the technology in this document are valid or in scope. It also doesn't say whether any license under those rights might or might not be available, and it hasn't independently tried to find any such rights. You can learn about how rights work for RFC documents in BCP 78 and BCP 79. π
Copies of IPR disclosures sent to the IETF Secretariat, any assurances of licenses that will be available, and the results of any attempt to get a general license or permission to use those proprietary rights for implementers or users of this specification can be found in the IETF's online IPR repository at http://www.ietf.org/ipr. ποΈ
The IETF invites anyone interested to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard. Send that information to the IETF at ietf-ipr@ietf.org. π«Ά
Acknowledgement
Funding for the RFC Editor function is currently provided by the Internet Society. πΈ Thank you, Internet Society, you're iconic π
π¦ where this page comes from
- ietf: rfc3808 2004-06
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms