#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2025 Oxide Computer Company
#
# This file contains a list of iconv aliases that will be applied. These aliases
# come from various locations over the years. A good reference for these is the
# IANA character sets assignments and aliases. Additional aliases can be added
# to support common encodings used in the wild.
#
# The logic in libc's iconv implementation checks both for direct matches and
# case-insensitive matches. Conventionally most items here are capitalized, but
# it is not strictly required.
#
# Alias Canonical
ISO8859-1 8859-1
ISO-8859-1 8859-1
ISO8859_1 8859-1
ISO_8859_1 8859-1
iso-ir-100 8859-1
ISO_8859-1 8859-1
latin1 8859-1
l1 8859-1
IBM819 8859-1
CP819 8859-1
csISOLatin1 8859-1
#
# While IANA only defines LATIN-9 as a common alias, we also include LATIN9 ala
# gconv and others due to its similarity to the other LATIN encodings.
#
ISO8859-15 8859-15
ISO-8859-15 8859-15
ISO8859_15 8859-15
ISO_8859_15 8859-15
ISO_8859-15 8859-15
latin-9 8859-15
latin9 8859-15
csISO885915 8859-15
CP923 8859-15
IBM923 8859-15
PCK PCK
SJIS PCK
Shift_JIS PCK
SHIFT-JIS PCK
ShiftJIS PCK
MS_Kanji PCK
csShiftJis PCK
eucJP eucJP
EUC-JP eucJP
EUC_JP eucJP
csEUCPkdFmtJapanese eucJP
ISO-2022-JP ISO-2022-JP
ISO_2022_JP ISO-2022-JP
ISO2022JP ISO-2022-JP
ISO-2022JP ISO-2022-JP
ISO_2022JP ISO-2022-JP
ISO2022-JP ISO-2022-JP
ISO2022_JP ISO-2022-JP
csISO2022JP ISO-2022-JP
EUC-JP-MS eucJP-ms
EUCJP-MS eucJP-ms
EUCJP-OPEN eucJP-ms
EUCJP-WIN eucJP-ms
#
# While IANA has cs aliases for these, we've noticed that other major systems
# don't provide aliases for those for UTF-8 and as such we've left that out for
# now.
#
UTF-8 UTF-8
UTF8 UTF-8
UTF_8 UTF-8
UTF-16 UTF-16
UTF16 UTF-16
UTF_16 UTF-16
UTF-16BE UTF-16BE
UTF16BE UTF-16BE
UTF_16BE UTF-16BE
UTF-16LE UTF-16LE
UTF16LE UTF-16LE
UTF_16LE UTF-16LE
UTF-32 UTF-32
UTF32 UTF-32
UTF_32 UTF-32
UTF-32BE UTF-32BE
UTF32BE UTF-32BE
UTF_32BE UTF-32BE
UTF-32LE UTF-32LE
UTF32LE UTF-32LE
UTF_32LE UTF-32LE
GB18030 zh_CN.gbk
GB-18030 zh_CN.gbk
GB_18030 zh_CN.gbk
GB2312 zh_CN.euc
GB-2312 zh_CN.euc
GB_2312 zh_CN.euc
csGB2312 zh_CN.euc
EUC-CN zh_CN.euc
EUC_CN zh_CN.euc
eucCN zh_CN.euc
GBK zh_CN.gbk
zh_CN.gb18030 zh_CN.gbk
zh_CN.iso2022-7 zh_CN.iso2022-CN
EUC-KR EUC-KR
EUC_KR EUC-KR
ISO-2022-KR ko_KR-iso2022-7
ISO_2022_KR ko_KR-iso2022-7
ISO2022KR ko_KR-iso2022-7
ISO-2022KR ko_KR-iso2022-7
ISO_2022KR ko_KR-iso2022-7
ISO2022-KR ko_KR-iso2022-7
ISO2022_KR ko_KR-iso2022-7
Wansung ko_KR-euc
eucKR ko_KR-euc
csEUCKR ko_KR-euc
JOHAB ko_KR.johap92
JOHAP ko_KR.johap92
5601 ko_KR-euc
KSC5601 ko_KR-euc
csKSC56011987 ko_KR-euc
ko_KR.euc ko_KR-euc
ko_KR.johap ko_KR-johap
ko_KR.johap92 ko_KR-johap92
ko_KR.iso2022-7 ko_KR-iso2022-7
ko_KR.nbyte ko_KR-nbyte
ko_KR.cp933 ko_KR-cp933
ko_KR.cp949 ko_KR-cp949
UnifiedHangul ko_KR-cp949
UHC ko_KR-cp949
CP949 ko_KR-cp949
BIG5 zh_TW-big5
BIG-5 zh_TW-big5
BIG_5 zh_TW-big5
EUC-TW zh_TW-euc
EUC_TW zh_TW-euc
eucTW zh_TW-euc
CNS11643 zh_TW-euc
CNS-11643 zh_TW-euc
CNS_11643 zh_TW-euc
BIG5P zh_TW-big5p
BIG5Plus zh_TW-big5p
BIG5-Plus zh_TW-big5p
BIG5_Plus zh_TW-big5p
BIG-5-Plus zh_TW-big5p
BIG_5_Plus zh_TW-big5p
BIG-5Plus zh_TW-big5p
BIG_5Plus zh_TW-big5p
zh_TW.iso2022-CN-EXT zh_TW-iso2022-CN-EXT
zh_TW.big5 zh_TW-big5
zh_TW.big5p zh_TW-big5p
zh_TW.euc zh_TW-euc
zh_TW.iso2022-7 zh_TW-iso2022-7
zh_TW.iso2022-CN zh_TW-iso2022-7
zh_TW-iso2022-CN zh_TW-iso2022-7
zh_TW.cp937 zh_TW-cp937
Big5HKSCS zh_HK.hkscs
Big-5HKSCS zh_HK.hkscs
Big_5HKSCS zh_HK.hkscs
Big5-HKSCS zh_HK.hkscs
Big5_HKSCS zh_HK.hkscs
Big-5-HKSCS zh_HK.hkscs
Big_5_HKSCS zh_HK.hkscs
Big5HK zh_HK.hkscs
Big-5HK zh_HK.hkscs
Big_5HK zh_HK.hkscs
Big-5-HK zh_HK.hkscs
Big_5_HK zh_HK.hkscs
zh_HK.big5hk zh_HK.hkscs
zh_HK-big5hk zh_HK.hkscs
#
# IBM has a series of pages that map to the various 8859- bits here that
# sometimes have extensions. We end up aliasing them like others do despite this.
#
ISO8859-2 8859-2
ISO8859_2 8859-2
ISO-8859-2 8859-2
ISO_8859_2 8859-2
iso2 8859-2
iso-ir-101 8859-2
latin2 8859-2
l2 8859-2
csISOLatin2 8859-2
CP912 8859-2
IBM912 8859-2
ISO8859-5 8859-5
ISO8859_5 8859-5
ISO-8859-5 8859-5
ISO_8859_5 8859-5
iso5 8859-5
iso-ir-144 8859-5
cyrillic 8859-5
csISOLatinCyrillic 8859-5
CP915 8859-5
IBM915 8859-5
ISO8859-6 8859-6
ISO8859_6 8859-6
ISO-8859-6 8859-6
ISO_8859_6 8859-6
iso-ir-127 8859-6
ECMA-114 8859-6
ASMO-708 8859-6
arabic 8859-6
csISOLatinArabic 8859-6
CP1089 8859-6
IBM1089 8859-6
ISO8859-7 8859-7
ISO8859_7 8859-7
ISO-8859-7 8859-7
ISO_8859_7 8859-7
iso-ir-126 8859-7
ELOT_928 8859-7
ECMA-118 8859-7
greek 8859-7
greek8 8859-7
csISOLatinGreek 8859-7
CP813 8859-7
IBM813 8859-7
ISO8859-9 8859-9
ISO8859_9 8859-9
ISO-8859-9 8859-9
ISO_8859_9 8859-9
so-ir-148 8859-9
latin5 8859-9
l5 8859-9
csISOLatin5 8859-9
IBM920 8859-9
CP920 8859-9
ECMA-128 8859-9
ISO8859-11 eucTH
ISO8859_11 eucTH
ISO-8859-11 eucTH
ISO_8859_11 eucTH
8859-11 eucTH
8859_11 eucTH
TIS-620 eucTH
TIS_620 eucTH
TIS620 eucTH
TIS620.2533 eucTH
TIS620:2533 eucTH
TIS620-2533 eucTH
TIS620_2533 eucTH
eucTH eucTH
EUC-TH eucTH
EUC_TH eucTH
ISO8859-13 8859-13
ISO8859_13 8859-13
ISO-8859-13 8859-13
ISO_8859_13 8859-13
csISO885913 8859-13
latin7 8859-13
l7 8859-13
iso-ir-179 8859-13
KOI8-R KOI8-R
KOI8_R KOI8-R
KOI8R KOI8-R
KOI8 KOI8-R
csKOI8R KOI8-R
ISCII iscii91
ISCII91 iscii91
ISO8859-3 8859-3
ISO8859_3 8859-3
ISO-8859-3 8859-3
ISO_8859_3 8859-3
iso-ir-109 8859-3
latin3 8859-3
l3 8859-3
csISOLatin3 8859-3
IBM913 8859-3
CP913 8859-3
ISO8859-4 8859-4
ISO8859_4 8859-4
ISO-8859-4 8859-4
ISO_8859_4 8859-4
iso-ir-110 8859-4
latin4 8859-4
l4 8859-4
csISOLatin4 8859-4
IBM914 8859-4
CP914 8859-4
ISO8859-8 8859-8
ISO8859_8 8859-8
ISO-8859-8 8859-8
ISO_8859_8 8859-8
iso-ir-138 8859-8
hebrew 8859-8
csISOLatinHebrew 8859-8
CP916 8859-8
IBM916 8859-8
ISO8859-10 8859-10
ISO8859_10 8859-10
ISO-8859-10 8859-10
ISO_8859_10 8859-10
iso-ir-157 8859-10
l6 8859-10
ISO_8859-10:1992 8859-10
csISOLatin6 8859-10
latin6 8859-10
CP919 8859-10
IBM919 8859-10
ISO8859-14 8859-14
ISO8859_14 8859-14
ISO-8859-14 8859-14
ISO_8859_14 8859-14
iso-ir-199 8859-14
ISO_8859-14:1998 8859-14
ISO_8859-14 8859-14
latin8 8859-14
iso-celtic 8859-14
l8 8859-14
csISO885914 8859-14
ISO8859-16 8859-16
ISO8859_16 8859-16
ISO-8859-16 8859-16
ISO_8859_16 8859-16
iso-ir-226 8859-16
ISO_8859-16:2001 8859-16
ISO_8859-16 8859-16
latin10 8859-16
l10 8859-16
csISO885916 8859-16
KOI8-U KOI8-U
KOI8_U KOI8-U
KOI8U KOI8-U
csKOI8U KOI8-U
UCS-2 UCS-2
UCS_2 UCS-2
UCS2 UCS-2
UCS-2BE UCS-2BE
UCS_2BE UCS-2BE
UCS2BE UCS-2BE
UCS-2LE UCS-2LE
UCS_2LE UCS-2LE
UCS2LE UCS-2LE
UCS-4 UCS-4
UCS_4 UCS-4
UCS4 UCS-4
UCS-4BE UCS-4BE
UCS_4BE UCS-4BE
UCS4BE UCS-4BE
UCS-4LE UCS-4LE
UCS_4LE UCS-4LE
UCS4LE UCS-4LE
UTF-EBCDIC UTF-EBCDIC
UTF_EBCDIC UTF-EBCDIC
UTFEBCDIC UTF-EBCDIC
ASCII 646
US-ASCII 646
US_ASCII 646
USASCII 646
PTCP154 PTCP154
ACE ACE
ACE-ALLOW-UNASSIGNED ACE-ALLOW-UNASSIGNED
ACE_ALLOW_UNASSIGNED ACE-ALLOW-UNASSIGNED
ACEALLOWUNASSIGNED ACE-ALLOW-UNASSIGNED
CP932 ms932
MS932 ms932
PC932 ms932
UTF-8-CP932 UTF-8-ms932
UTF8-CP932 UTF-8-ms932
UTF-8CP932 UTF-8-ms932
UTF_8_CP932 UTF-8-ms932
UTF8_CP932 UTF-8-ms932
UTF_8CP932 UTF-8-ms932
UTF8CP932 UTF-8-ms932
UTF-8-MS932 UTF-8-ms932
UTF8-MS932 UTF-8-ms932
UTF-8MS932 UTF-8-ms932
UTF_8_MS932 UTF-8-ms932
UTF8_MS932 UTF-8-ms932
UTF_8MS932 UTF-8-ms932
UTF8MS932 UTF-8-ms932
UTF-8-PC932 UTF-8-ms932
UTF8-PC932 UTF-8-ms932
UTF-8PC932 UTF-8-ms932
UTF_8_PC932 UTF-8-ms932
UTF8_PC932 UTF-8-ms932
UTF_8PC932 UTF-8-ms932
UTF8PC932 UTF-8-ms932
IBM-930 ibm930
IBM_930 ibm930
IBM930 ibm930
CP930 ibm930
IBM-931 ibm931
IBM_931 ibm931
IBM931 ibm931
CP931 ibm931
IBM-939 ibm939
IBM_939 ibm939
IBM939 ibm939
CP939 ibm939
IBM-5026 ibm5026
IBM_5026 ibm5026
IBM5026 ibm5026
IBM-5035 ibm5035
IBM_5035 ibm5035
IBM5035 ibm5035
IBM-933 ko_KR-cp933
IBM_933 ko_KR-cp933
IBM933 ko_KR-cp933
CP933 ko_KR-cp933
IBM-937 zh_TW-cp937
IBM_937 zh_TW-cp937
IBM937 zh_TW-cp937
CP937 zh_TW-cp937
IBM-935 zh_CN-cp935
IBM_935 zh_CN-cp935
IBM935 zh_CN-cp935
IBM-CP838 IBM-838
IBM-CP874 IBM-874
CP935 zh_CN-cp935
CP437 CP437
CP-437 CP437
CP_437 CP437
437 CP437
IBM437 CP437
csPC8CodePage437 CP437
CP737 CP737
CP-737 CP737
CP_737 CP737
737 CP737
CP775 CP775
CP-775 CP775
CP_775 CP775
775 CP775
IBM775 CP775
csPC775Baltic CP775
CP850 CP850
CP-850 CP850
CP_850 CP850
850 CP850
IBM-850 IBM-850
IBM850 IBM-850
cspc850multilingual IBM-850
CP852 CP852
CP-852 CP852
CP_852 CP852
852 CP852
dos2 CP852
IBM852 CP852
csPCp852 CP852
CP855 CP855
CP-855 CP855
CP_855 CP855
855 CP855
csIBM855 CP855
CP857 CP857
CP-857 CP857
CP_857 CP857
857 CP857
IBM857 CP857
csIBM857 CP857
CP860 CP860
CP-860 CP860
CP_860 CP860
860 CP860
csIBM860 CP860
IBM860 CP860
CP861 CP861
CP-861 CP861
CP_861 CP861
861 CP861
cp-is CP861
IBM861 CP861
csIBM861 CP861
CP862 CP862
CP-862 CP862
CP_862 CP862
862 CP862
IBM862 CP862
csPC862LatinHebrew CP862
CP863 CP863
CP-863 CP863
CP_863 CP863
863 CP863
IBM863 CP863
csIBM863 CP863
CP864 CP864
CP-864 CP864
CP_864 CP864
864 CP864
IBM864 CP864
csIBM864 CP864
CP865 CP865
CP-865 CP865
CP_865 CP865
865 CP865
IBM865 CP865
csIBM865 CP865
CP866 CP866
CP-866 CP866
CP_866 CP866
866 CP866
IBM866 CP866
csIBM866 CP866
CP869 CP869
CP-869 CP869
CP_869 CP869
869 CP869
cp-gr CP869
csIBM869 CP869
IBM869 CP869
CP874 CP874
CP-874 CP874
CP_874 CP874
874 CP874
IBM874 CP874
CP1250 CP1250
CP-1250 CP1250
CP_1250 CP1250
WINDOWS-1250 CP1250
ANSI-1250 CP1250
ANSI1250 CP1250
1250 CP1250
win2 CP1250
CP1251 CP1251
CP-1251 CP1251
CP_1251 CP1251
WINDOWS-1251 CP1251
ANSI-1251 CP1251
ANSI1251 CP1251
1251 CP1251
win5 CP1251
CP1252 CP1252
CP-1252 CP1252
CP_1252 CP1252
WINDOWS-1252 CP1252
ANSI-1252 CP1252
ANSI1252 CP1252
1252 CP1252
CP1253 CP1253
CP-1253 CP1253
CP_1253 CP1253
WINDOWS-1253 CP1253
ANSI-1253 CP1253
ANSI1253 CP1253
1253 CP1253
CP1254 CP1254
CP-1254 CP1254
CP_1254 CP1254
WINDOWS-1254 CP1254
ANSI-1254 CP1254
ANSI1254 CP1254
1254 CP1254
CP1255 CP1255
CP-1255 CP1255
CP_1255 CP1255
WINDOWS-1255 CP1255
ANSI-1255 CP1255
ANSI1255 CP1255
1255 CP1255
CP1256 CP1256
CP-1256 CP1256
CP_1256 CP1256
WINDOWS-1256 CP1256
ANSI-1256 CP1256
ANSI1256 CP1256
1256 CP1256
CP1257 CP1257
CP-1257 CP1257
CP_1257 CP1257
WINDOWS-1257 CP1257
ANSI-1257 CP1257
ANSI1257 CP1257
1257 CP1257
CP1258 CP1258
CP-1258 CP1258
CP_1258 CP1258
WINDOWS-1258 CP1258
ANSI-1258 CP1258
ANSI1258 CP1258
1258 CP1258
CP720 CP720
CP-720 CP720
CP_720 CP720
720 CP720
IBM720 CP720
#
# We have a group of modules whose canonical name is IBM-<num>. This is in
# addition to modules whose canonical name are CP<num>. These generally don't
# overlap except for numbers: 850, 852, 855, 857, 862, 864, 866, and 869. For
# these entries we don't add aliases as we have an alias for them already. Often
# in those cases, we have a geniconvtbl UTF-8 binary table for the IBM-<num>,
# but modules for everything else.
#
CP273 IBM-273
csIBM273 IBM-273
IBM273 IBM-273
EBCDIC-CP-DK IBM-277
EBCDIC-CP-NO IBM-277
csIBM277 IBM-277
IBM277 IBM-277
CP278 IBM-278
IBM278 IBM-278
ebcdic-cp-fi IBM-278
ebcdic-cp-se IBM-278
csIBM278 IBM-278
CP280 IBM-280
IBM280 IBM-280
ebcdic-cp-it IBM-280
csIBM280 IBM-280
IBM284 IBM-284
CP284 IBM-284
ebcdic-cp-es IBM-284
csIBM284 IBM-284
CP285 IBM-285
IBM285 IBM-285
ebcdic-cp-gb IBM-285
csIBM285 IBM-285
CP297 IBM-297
IBM297 IBM-297
ebcdic-cp-fr IBM-297
csIBM297 IBM-297
CP420 IBM-420
IBM420 IBM-420
ebcdic-cp-ar1 IBM-420
csIBM420 IBM-420
CP424 IBM-424
IBM424 IBM-424
ebcdic-cp-he IBM-424
csIBM424 IBM-424
CP500 IBM-500
IBM500 IBM-500
ebcdic-cp-be IBM-500
ebcdic-cp-ch IBM-500
csIBM500 IBM-500
CP856 IBM-856
IBM856 IBM-856
csIBM856 IBM-856
CP870 IBM-870
IBM870 IBM-870
ebcdic-cp-roece IBM-870
ebcdic-cp-yu IBM-870
csIBM870 IBM-870
CP871 IBM-871
ebcdic-cp-is IBM-871
csIBM871 IBM-871
CP875 IBM-875
IBM875 IBM-875
IBM921 IBM-921
CP921 IBM-921
CP922 IBM-922
IBM922 IBM-922