RFC 3808 INFORMATIONAL MANAGEMENT · CHARACTER SETS · MIB

IANA Charset MIB

A standard naming convention for character encodings in network device management.

On rfc-editor.org ↗
PUBLISHED
June 2004
AUTHORS
I. McDonald
STREAM
INDEPENDENT
SPECIAL VALUES
"other" (1), "unknown" (2)
TOTAL REGISTERED CHARSETS
Over 200 as of 2004
SOURCE
Extracted from Printer MIB v2 (RFC 3805)
ENUM LABEL PREFIX
"cs" (for character set)
DOI
10.17487/RFC3808

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                        I. McDonald
Request for Comments: 3808                                    High North
Category: Informational                                        June 2004


                            IANA Charset MIB

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   This IANA Charset MIB is now an IANA registry.  In particular, a
   single textual convention 'IANACharset' is defined that may be used
   to specify charset labels in MIB objects.  'IANACharset' was
   extracted from Printer MIB v2 (RFC 3805).  'IANACharset' was
   originally defined (and mis-named) as 'CodedCharSet' in Printer MIB
   v1 (RFC 1759).  A tool has been written in C, that may be used by
   IANA to regenerate this IANA Charset MIB, when future charsets are
   registered in accordance with 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

   This IANA Charset MIB [CHARMIB] module defines the single textual
   convention 'IANACharset'.  Once adopted, all future versions of the
   IANA Charset MIB [CHARMIB] may be machine-generated whenever the IANA
   Charset Registry [CHARSET] is updated by IANA staff according to the
   procedures defined in [RFC2978], using the utility [CHARGEN]
   described in section 3 of this document or any other machine-
   generation method.

   It is strongly recommended that future updates to the IANA Charset
   MIB [CHARMIB] be machine-generated (rather than hand-edited) to avoid
   asynchrony between the IANA Charset Registry [CHARSET] and the IANA
   Charset MIB [CHARMIB].

   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).

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 interpreted as described in BCP 14, RFC 2119
   [RFC2119].

1.2.  Charset Terminology

   The following terms are used in this specification, exactly as
   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)".

2.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the 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.

   The [CHARGEN] utility may be used to generate an updated version of
   the 'IANACharset' textual convention by reading and parsing the
   (currently plaintext) IANA Charset Registry [CHARSET].

   This utility parses each charset registration, finding (in order):

   1) The 'Name' field (which is saved for a fallback - see below);

   2) The 'MIBenum' field (which contains the IANA-assigned positive
      decimal enum value); and

   3) The (usually present) 'Alias' field that begins with 'cs' (that
      contains the IANA-assigned enum label).  If an 'Alias' field is
      not found, the utility constructs one from the 'Name' field by:

      -  Beginning the enum label with a lowercase 'cs' prefix;

      -  Copying _only_ alpha/numeric characters from the 'Name' field
         to the enum label (ignoring punctuation, whitespace, etc.).

4.  Definition of IANA Charset MIB

IANA-CHARSET-MIB DEFINITIONS ::= BEGIN
--  http://www.iana.org/assignments/ianacharset-mib

IMPORTS
    MODULE-IDENTITY,
        mib-2
            FROM SNMPv2-SMI                              -- [RFC2578]
    TEXTUAL-CONVENTION
            FROM SNMPv2-TC;                              -- [RFC2579]

ianaCharsetMIB MODULE-IDENTITY
    LAST-UPDATED    "200406080000Z"
    ORGANIZATION    "IANA"
    CONTACT-INFO    "       Internet Assigned Numbers Authority

                    Postal: ICANN
                            4676 Admiralty Way, Suite 330
                            Marina del Rey, CA 90292

                    Tel:    +1 310 823 9358
                    E-Mail: iana@iana.org"

    DESCRIPTION     "This MIB module defines the IANACharset
                    TEXTUAL-CONVENTION.  The IANACharset TC is used to
                    specify the encoding of string objects defined in
                    a MIB.

                    Each version of this MIB will be released based on
                    the IANA Charset Registry file (see RFC 2978) at
                    http://www.iana.org/assignments/character-sets.

                    Note:  The IANACharset TC, originally defined in
                    RFC 1759, was inaccurately named CodedCharSet.

                    Note:  Best practice is to define new MIB string
                    objects with invariant UTF-8 (RFC 3629) syntax
                    using the SnmpAdminString TC (defined in RFC 3411)
                    in accordance with IETF Policy on Character Sets and
                    Languages (RFC 2277).

                    Copyright (C) The Internet Society (2004).  The
                    initial version of this MIB module was published
                    in RFC 3808; for full legal notices see the RFC
                    itself.  Supplementary information may be
                    available on
                    http://www.ietf.org/copyrights/ianamib.html."

    --  revision history

    REVISION        "200406080000Z"
    DESCRIPTION     "Original version transferred from Printer MIB,
                    generated from the IANA maintained assignments
                    http://www.iana.org/assignments/character-sets."

    ::= { mib-2 106 }

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

   IANA has assigned a base arc in the 'mgmt' (standards track) OID tree
   for the 'ianaCharset' MODULE-IDENTITY defined in the IANA Charset MIB
   [CHARMIB].

   Whenever any 'charset' is added to the IANA Charset Registry
   [CHARSET], a new version of the IANA Charset MIB [CHARMIB] may be
   machine-generated using the C language utility [CHARGEN], described
   in section 3 of this document or some other utility.

6.  Internationalization Considerations

   The IANA Charset MIB [CHARMIB] defines the 'IANACharset' textual
   convention that may be used in a given MIB module to supply explicit
   character set labels for one or more text string objects defined in
   that MIB module.

   For example, the Printer MIB [RFC1759] defines the 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] supports implementation of the best
   practices specified in "IETF Policy on Character Sets and Languages"
   [RFC2277].

   Note:  The use of the 'SnmpAdminString' textual convention defined in
   [RFC3411], which has a fixed character set of UTF-8 [RFC3629], is
   STRONGLY RECOMMENDED in defining new MIB modules.  The IANA Charset
   MIB [CHARMIB] supports locale-specific MIB objects with variable
   character sets.

7.  Security Considerations

   This MIB module does not define any management objects.  Instead, it
   defines a (set of) textual convention(s) which may be used by other
   MIB modules to define management objects.

   Meaningful security considerations can only be written in the MIB
   modules that define management objects.  Therefore, this document has
   no impact on the security of the Internet.

8.  Acknowledgements

   The editor would like to thank:  Bert Wijnen (Lucent) for his
   original suggestion that the 'IANACharset' textual convention should
   be extracted from Printer MIB v2 [RFC3805]; Ron Bergman (Hitachi
   Printing Solutions) and Harry Lewis (IBM) for their 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

   [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

   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, and
   except as set forth therein, the authors retain all their rights.

   This document and the information contained herein 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 OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

AI ELI5

On this page
PROBLEMNetwork devices need to report what text encodings they support when accessed via SNMP, but there was no standard way for MIB modules to specify character set labels.
MECHANISMRFC 3808 defines a textual convention called IANACharset that uses the IANA Charset Registry to provide a standard enumeration of character set names and codes that MIB modules can reference.
WHAT IT ENABLESDevice management systems can now consistently specify and negotiate character encodings, supporting everything from ASCII to UTF-8 to vendor-specific charsets, and the standard can be automatically updated when IANA registers new charsets.

§1Introduction

SNMP (Simple Network Management Protocol) lets network administrators manage devices like printers and switches via a virtual database called the MIB (Management Information Base). Objects in the MIB are defined using SMI (Structure of Management Information).

RFC 3808 defines a single textual convention called IANACharset for use in MIB modules. A textual convention is a reusable data type. The IANACharset convention lets MIB objects specify character set labels in a standard way. It was extracted from the Printer MIB and originally appeared (misnamed as CodedCharSet) in RFC 1759.

When you connect to a device to manage it, you need to say what text alphabet it uses. This defines a standard list of alphabet names so the device and your computer speak the same language.

§2The IANACharset Textual Convention

The IANACharset textual convention is an INTEGER that references the IANA Charset Registry (maintained at http://www.iana.org/assignments/character-sets). Each charset has two identifiers: an enumeration value (the MIBenum field in the registry) and an enumeration label (derived from the Alias field that begins with "cs").

The convention includes common charsets: ASCII (csASCII), ISO Latin variants (csISOLatin1 through csISOLatin6), Unicode variants (csUnicode, csUTF8, csUTF16), and many vendor-specific and regional charsets. Two special values exist: "other" (value 1) for unregistered charsets and "unknown" (value 2) as a default. MIB objects such as prtLocalizationCharacterSet (console text), prtInterpreterDefaultCharSetIn (received print data), and prtInterpreterDefaultCharSetOut (output data) use this convention to specify what text encoding they use.

It is a numbered list of text alphabets with standard names, so when a device says "I use csUTF8," everyone knows it means UTF-8 text.

§3Machine Generation and Maintenance

The RFC includes a C language utility called ianachar.c that can automatically regenerate the IANACharset textual convention when IANA updates the Charset Registry. The utility parses the registry, extracting the charset Name field, the MIBenum value (IANA-assigned decimal number), and the Alias field prefixed with "cs". If no alias is found, it constructs one from the Name field by preserving only alphanumeric characters and prefixing with "cs".

The tool and its template file were donated to IANA in perpetuity without restriction. The RFC recommends that future updates to the IANA Charset MIB be machine-generated rather than hand-edited to prevent inconsistency between the registry and the MIB. The MIB module was last updated in June 2004 based on the registry at that time.

When IANA adds a new text alphabet to its list, a computer program automatically adds it to this standard list, so devices can use it without waiting for people to edit things by hand.

§4Best Practices and Internationalization

RFC 3808 notes that modern MIB modules should prefer SnmpAdminString (defined in RFC 3411), which always uses UTF-8, rather than relying on variable character sets. This aligns with the IETF Policy on Character Sets and Languages (RFC 2277).

However, IANACharset is valuable for legacy devices and situations where devices support multiple character encodings. The textual convention supports internationalization: device dashboards and management interfaces can use the IANACharset values to label and negotiate text encoding with network-managed devices, ensuring that characters in device names, descriptions, and configuration data are properly interpreted regardless of language or region.

New devices should just use UTF-8 (a universal text code). But for older devices that speak many languages, this list lets them tell your computer what language they are using.

§5References