Hi, On Fri, 4 Oct 2002, 22:48 GMT+08 (16:48 local time) Autrijus Tang wrote:
> Would it be too much to ask for a list of such libiconv-incompatibility > map, or at least a pointer to the supported canonical names of those > recoders? currently, the Encode::Alias module used by your Encode::compat does not always resolve to an encoding name known by GNU libiconv. The current version of libiconv, 1.8, knows the following names and aliases: ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII UTF-8 ISO-10646-UCS-2 UCS-2 CSUNICODE UCS-2BE UNICODE-1-1 UNICODEBIG CSUNICODE11 UCS-2LE UNICODELITTLE ISO-10646-UCS-4 UCS-4 CSUCS4 UCS-4BE UCS-4LE UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7 UCS-2-INTERNAL UCS-2-SWAPPED UCS-4-INTERNAL UCS-4-SWAPPED C99 JAVA CP819 IBM819 ISO-8859-1 ISO-IR-100 ISO_8859-1 ISO_8859-1:1987 L1 LATIN1 CSISOLATIN1 ISO-8859-2 ISO-IR-101 ISO_8859-2 ISO_8859-2:1987 L2 LATIN2 CSISOLATIN2 ISO-8859-3 ISO-IR-109 ISO_8859-3 ISO_8859-3:1988 L3 LATIN3 CSISOLATIN3 ISO-8859-4 ISO-IR-110 ISO_8859-4 ISO_8859-4:1988 L4 LATIN4 CSISOLATIN4 CYRILLIC ISO-8859-5 ISO-IR-144 ISO_8859-5 ISO_8859-5:1988 CSISOLATINCYRILLIC ARABIC ASMO-708 ECMA-114 ISO-8859-6 ISO-IR-127 ISO_8859-6 ISO_8859-6:1987 CSISOLATINARABIC ECMA-118 ELOT_928 GREEK GREEK8 ISO-8859-7 ISO-IR-126 ISO_8859-7 ISO_8859-7:1987 CSISOLATINGREEK HEBREW ISO-8859-8 ISO-IR-138 ISO_8859-8 ISO_8859-8:1988 CSISOLATINHEBREW ISO-8859-9 ISO-IR-148 ISO_8859-9 ISO_8859-9:1989 L5 LATIN5 CSISOLATIN5 ISO-8859-10 ISO-IR-157 ISO_8859-10 ISO_8859-10:1992 L6 LATIN6 CSISOLATIN6 ISO-8859-13 ISO-IR-179 ISO_8859-13 L7 LATIN7 ISO-8859-14 ISO-CELTIC ISO-IR-199 ISO_8859-14 ISO_8859-14:1998 L8 LATIN8 ISO-8859-15 ISO-IR-203 ISO_8859-15 ISO_8859-15:1998 ISO-8859-16 ISO-IR-226 ISO_8859-16 ISO_8859-16:2000 KOI8-R CSKOI8R KOI8-U KOI8-RU CP1250 MS-EE WINDOWS-1250 CP1251 MS-CYRL WINDOWS-1251 CP1252 MS-ANSI WINDOWS-1252 CP1253 MS-GREEK WINDOWS-1253 CP1254 MS-TURK WINDOWS-1254 CP1255 MS-HEBR WINDOWS-1255 CP1256 MS-ARAB WINDOWS-1256 CP1257 WINBALTRIM WINDOWS-1257 CP1258 WINDOWS-1258 850 CP850 IBM850 CSPC850MULTILINGUAL 862 CP862 IBM862 CSPC862LATINHEBREW 866 CP866 IBM866 CSIBM866 MAC MACINTOSH MACROMAN CSMACINTOSH MACCENTRALEUROPE MACICELAND MACCROATIAN MACROMANIA MACCYRILLIC MACUKRAINE MACGREEK MACTURKISH MACHEBREW MACARABIC MACTHAI HP-ROMAN8 R8 ROMAN8 CSHPROMAN8 NEXTSTEP ARMSCII-8 GEORGIAN-ACADEMY GEORGIAN-PS KOI8-T MULELAO-1 CP1133 IBM-CP1133 ISO-IR-166 TIS-620 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1 CP874 WINDOWS-874 VISCII VISCII1.1-1 CSVISCII TCVN TCVN-5712 TCVN5712-1 TCVN5712-1:1993 ISO-IR-14 ISO646-JP JIS_C6220-1969-RO JP CSISO14JISC6220RO JISX0201-1976 JIS_X0201 X0201 CSHALFWIDTHKATAKANA ISO-IR-87 JIS0208 JIS_C6226-1983 JIS_X0208 JIS_X0208-1983 JIS_X0208-1990 X0208 CSISO87JISX0208 ISO-IR-159 JIS_X0212 JIS_X0212-1990 JIS_X0212.1990-0 X0212 CSISO159JISX02121990 CN GB_1988-80 ISO-IR-57 ISO646-CN CSISO57GB1988 CHINESE GB_2312-80 ISO-IR-58 CSISO58GB231280 CN-GB-ISOIR165 ISO-IR-165 ISO-IR-149 KOREAN KSC_5601 KS_C_5601-1987 KS_C_5601-1989 CSKSC56011987 EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE MS_KANJI SHIFT-JIS SHIFT_JIS SJIS CSSHIFTJIS CP932 ISO-2022-JP CSISO2022JP ISO-2022-JP-1 ISO-2022-JP-2 CSISO2022JP2 CN-GB EUC-CN EUCCN GB2312 CSGB2312 CP936 GBK GB18030 ISO-2022-CN CSISO2022CN ISO-2022-CN-EXT HZ HZ-GB-2312 EUC-TW EUCTW CSEUCTW BIG-5 BIG-FIVE BIG5 BIGFIVE CN-BIG5 CSBIG5 CP950 BIG5-HKSCS BIG5HKSCS EUC-KR EUCKR CSEUCKR CP949 UHC CP1361 JOHAB ISO-2022-KR CSISO2022KR 437 CP437 IBM437 CSPC8CODEPAGE437 CP737 CP775 IBM775 CSPC775BALTIC 852 CP852 IBM852 CSPCP852 CP853 855 CP855 IBM855 CSIBM855 857 CP857 IBM857 CSIBM857 CP858 860 CP860 IBM860 CSIBM860 861 CP-IS CP861 IBM861 CSIBM861 863 CP863 IBM863 CSIBM863 CP864 IBM864 CSIBM864 865 CP865 IBM865 CSIBM865 869 CP-GR CP869 IBM869 CSIBM869 CP1125 The list above is the result of 'iconv -l'. I browsed a bit through the source files and found that all these names are defined in the files lib/encodings*.def. All the platform independent encodings are defined in 'encodings.def' which contains the following: /* Copyright (C) 1999-2002 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU LIBICONV Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* The list of all system independent user-visible encodings. */ /* By convention, an encoding named FOOBAR or FOO_BAR or FOO-BAR is defined in a file named "foobar.h" through the functions foobar_mbtowc and foobar_wctomb (and possibly foobar_reset). */ /* DEFENCODING(( name, alias1, ..., ), xxx, { xxx_mbtowc, xxx_flushwc }, { xxx_wctomb, xxx_reset }) defines an encoding with the given name and aliases. (There is no difference between a name and an alias. By convention, the name is chosen as the preferred MIME name or the standard name.) All names and aliases must be in ASCII. Case is not significant, but for the "cs*" aliases mixed case is preferred, otherwise UPPERCASE is preferred. For all names and aliases, note where it comes from. xxx is the name as used in the C code (lowercase). */ DEFENCODING(( "US-ASCII", /* IANA */ "ASCII", /* IANA, JDK 1.1 */ "ISO646-US", /* IANA */ "ISO_646.IRV:1991", /* IANA */ "ISO-IR-6", /* IANA */ "ANSI_X3.4-1968", /* IANA */ "ANSI_X3.4-1986", /* IANA */ "CP367", /* IANA */ "IBM367", /* IANA */ "US", /* IANA */ "csASCII", /* IANA */ /*"ISO646.1991-IRV", X11R6.4 */ ), ascii, { ascii_mbtowc, NULL }, { ascii_wctomb, NULL }) /* General multi-byte encodings */ DEFENCODING(( "UTF-8", /* IANA, RFC 2279 */ /*"UTF8", JDK 1.1 */ ), utf8, { utf8_mbtowc, NULL }, { utf8_wctomb, NULL }) DEFENCODING(( "UCS-2", /* glibc */ "ISO-10646-UCS-2", /* IANA */ "csUnicode", /* IANA */ ), ucs2, { ucs2_mbtowc, NULL }, { ucs2_wctomb, NULL }) DEFENCODING(( "UCS-2BE", /* glibc */ "UNICODEBIG", /* glibc */ "UNICODE-1-1", /* IANA */ "csUnicode11", /* IANA */ ), ucs2be, { ucs2be_mbtowc, NULL }, { ucs2be_wctomb, NULL }) DEFENCODING(( "UCS-2LE", /* glibc */ "UNICODELITTLE", /* glibc */ ), ucs2le, { ucs2le_mbtowc, NULL }, { ucs2le_wctomb, NULL }) DEFENCODING(( "UCS-4", /* glibc */ "ISO-10646-UCS-4", /* IANA */ "csUCS4", /* IANA */ ), ucs4, { ucs4_mbtowc, NULL }, { ucs4_wctomb, NULL }) DEFENCODING(( "UCS-4BE", /* glibc */ ), ucs4be, { ucs4be_mbtowc, NULL }, { ucs4be_wctomb, NULL }) DEFENCODING(( "UCS-4LE", /* glibc */ ), ucs4le, { ucs4le_mbtowc, NULL }, { ucs4le_wctomb, NULL }) DEFENCODING(( "UTF-16", /* IANA, RFC 2781 */ ), utf16, { utf16_mbtowc, NULL }, { utf16_wctomb, NULL }) DEFENCODING(( "UTF-16BE", /* IANA, RFC 2781 */ ), utf16be, { utf16be_mbtowc, NULL }, { utf16be_wctomb, NULL }) DEFENCODING(( "UTF-16LE", /* IANA, RFC 2781 */ ), utf16le, { utf16le_mbtowc, NULL }, { utf16le_wctomb, NULL }) DEFENCODING(( "UTF-32", /* Unicode 3.1 */ ), utf32, { utf32_mbtowc, NULL }, { utf32_wctomb, NULL }) DEFENCODING(( "UTF-32BE", /* Unicode 3.1 */ ), utf32be, { utf32be_mbtowc, NULL }, { utf32be_wctomb, NULL }) DEFENCODING(( "UTF-32LE", /* Unicode 3.1 */ ), utf32le, { utf32le_mbtowc, NULL }, { utf32le_wctomb, NULL }) DEFENCODING(( "UTF-7", /* IANA, RFC 2152 */ "UNICODE-1-1-UTF-7", /* IANA, RFC 1642 */ "csUnicode11UTF7", /* IANA */ ), utf7, { utf7_mbtowc, NULL }, { utf7_wctomb, utf7_reset }) DEFENCODING(( "UCS-2-INTERNAL", /* libiconv */ ), ucs2internal, { ucs2internal_mbtowc, NULL }, { ucs2internal_wctomb, NULL }) DEFENCODING(( "UCS-2-SWAPPED", /* libiconv */ ), ucs2swapped, { ucs2swapped_mbtowc, NULL }, { ucs2swapped_wctomb, NULL }) DEFENCODING(( "UCS-4-INTERNAL", /* libiconv */ ), ucs4internal, { ucs4internal_mbtowc, NULL },{ ucs4internal_wctomb, NULL }) DEFENCODING(( "UCS-4-SWAPPED", /* libiconv */ ), ucs4swapped, { ucs4swapped_mbtowc, NULL }, { ucs4swapped_wctomb, NULL }) DEFENCODING(( "C99", ), c99, { c99_mbtowc, NULL }, { c99_wctomb, NULL }) DEFENCODING(( "JAVA", ), java, { java_mbtowc, NULL }, { java_wctomb, NULL }) /* Standard 8-bit encodings */ DEFENCODING(( "ISO-8859-1", /* IANA */ "ISO_8859-1", /* IANA */ "ISO_8859-1:1987", /* IANA */ "ISO-IR-100", /* IANA */ "CP819", /* IANA */ "IBM819", /* IANA */ "LATIN1", /* IANA */ "L1", /* IANA */ "csISOLatin1", /* IANA */ /*"ISO8859-1", X11R6.4, glibc */ /*"ISO8859_1", JDK 1.1 */ ), iso8859_1, { iso8859_1_mbtowc, NULL }, { iso8859_1_wctomb, NULL }) DEFENCODING(( "ISO-8859-2", /* IANA */ "ISO_8859-2", /* IANA */ "ISO_8859-2:1987", /* IANA */ "ISO-IR-101", /* IANA */ "LATIN2", /* IANA */ "L2", /* IANA */ "csISOLatin2", /* IANA */ /*"ISO8859-2", X11R6.4, glibc */ /*"ISO8859_2", JDK 1.1 */ ), iso8859_2, { iso8859_2_mbtowc, NULL }, { iso8859_2_wctomb, NULL }) DEFENCODING(( "ISO-8859-3", /* IANA */ "ISO_8859-3", /* IANA */ "ISO_8859-3:1988", /* IANA */ "ISO-IR-109", /* IANA */ "LATIN3", /* IANA */ "L3", /* IANA */ "csISOLatin3", /* IANA */ /*"ISO8859-3", X11R6.4, glibc */ /*"ISO8859_3", JDK 1.1 */ ), iso8859_3, { iso8859_3_mbtowc, NULL }, { iso8859_3_wctomb, NULL }) DEFENCODING(( "ISO-8859-4", /* IANA */ "ISO_8859-4", /* IANA */ "ISO_8859-4:1988", /* IANA */ "ISO-IR-110", /* IANA */ "LATIN4", /* IANA */ "L4", /* IANA */ "csISOLatin4", /* IANA */ /*"ISO8859-4", X11R6.4, glibc */ /*"ISO8859_4", JDK 1.1 */ ), iso8859_4, { iso8859_4_mbtowc, NULL }, { iso8859_4_wctomb, NULL }) DEFENCODING(( "ISO-8859-5", /* IANA */ "ISO_8859-5", /* IANA */ "ISO_8859-5:1988", /* IANA */ "ISO-IR-144", /* IANA */ "CYRILLIC", /* IANA */ "csISOLatinCyrillic", /* IANA */ /*"ISO8859-5", X11R6.4, glibc */ /*"ISO8859_5", JDK 1.1 */ ), iso8859_5, { iso8859_5_mbtowc, NULL }, { iso8859_5_wctomb, NULL }) DEFENCODING(( "ISO-8859-6", /* IANA */ "ISO_8859-6", /* IANA */ "ISO_8859-6:1987", /* IANA */ "ISO-IR-127", /* IANA */ "ECMA-114", /* IANA */ "ASMO-708", /* IANA */ "ARABIC", /* IANA */ "csISOLatinArabic", /* IANA */ /*"ISO8859-6", X11R6.4, glibc */ /*"ISO8859_6", JDK 1.1 */ ), iso8859_6, { iso8859_6_mbtowc, NULL }, { iso8859_6_wctomb, NULL }) DEFENCODING(( "ISO-8859-7", /* IANA, RFC 1947 */ "ISO_8859-7", /* IANA */ "ISO_8859-7:1987", /* IANA */ "ISO-IR-126", /* IANA */ "ECMA-118", /* IANA */ "ELOT_928", /* IANA */ "GREEK8", /* IANA */ "GREEK", /* IANA */ "csISOLatinGreek", /* IANA */ /*"ISO8859-7", X11R6.4, glibc */ /*"ISO8859_7", JDK 1.1 */ ), iso8859_7, { iso8859_7_mbtowc, NULL }, { iso8859_7_wctomb, NULL }) DEFENCODING(( "ISO-8859-8", /* IANA */ "ISO_8859-8", /* IANA */ "ISO_8859-8:1988", /* IANA */ "ISO-IR-138", /* IANA */ "HEBREW", /* IANA */ "csISOLatinHebrew", /* IANA */ /*"ISO8859-8", X11R6.4, glibc */ /*"ISO8859_8", JDK 1.1 */ ), iso8859_8, { iso8859_8_mbtowc, NULL }, { iso8859_8_wctomb, NULL }) DEFENCODING(( "ISO-8859-9", /* IANA */ "ISO_8859-9", /* IANA */ "ISO_8859-9:1989", /* IANA */ "ISO-IR-148", /* IANA */ "LATIN5", /* IANA */ "L5", /* IANA */ "csISOLatin5", /* IANA */ /*"ISO8859-9", X11R6.4, glibc */ /*"ISO8859_9", JDK 1.1 */ ), iso8859_9, { iso8859_9_mbtowc, NULL }, { iso8859_9_wctomb, NULL }) DEFENCODING(( "ISO-8859-10", /* IANA */ "ISO_8859-10", "ISO_8859-10:1992", /* IANA */ "ISO-IR-157", /* IANA */ "LATIN6", /* IANA */ "L6", /* IANA */ "csISOLatin6", /* IANA */ /*"ISO8859-10", X11R6.4, glibc */ ), iso8859_10, { iso8859_10_mbtowc, NULL }, { iso8859_10_wctomb, NULL }) DEFENCODING(( "ISO-8859-13", /* IANA, glibc */ "ISO_8859-13", "ISO-IR-179", /* glibc */ "LATIN7", /* glibc */ "L7", /* glibc */ /*"ISO8859-13", glibc */ ), iso8859_13, { iso8859_13_mbtowc, NULL }, { iso8859_13_wctomb, NULL }) DEFENCODING(( "ISO-8859-14", /* IANA, glibc */ "ISO_8859-14", /* IANA */ "ISO_8859-14:1998", /* IANA, glibc */ "ISO-IR-199", /* IANA */ "LATIN8", /* IANA, glibc */ "L8", /* IANA, glibc */ "ISO-CELTIC", /* IANA */ /*"ISO8859-14", glibc */ ), iso8859_14, { iso8859_14_mbtowc, NULL }, { iso8859_14_wctomb, NULL }) DEFENCODING(( "ISO-8859-15", /* IANA, glibc */ "ISO_8859-15", /* IANA */ "ISO_8859-15:1998", /* glibc */ "ISO-IR-203", /*"ISO8859-15", glibc */ ), iso8859_15, { iso8859_15_mbtowc, NULL }, { iso8859_15_wctomb, NULL }) DEFENCODING(( "ISO-8859-16", "ISO_8859-16", "ISO_8859-16:2000", "ISO-IR-226", /*"ISO8859-16", glibc */ ), iso8859_16, { iso8859_16_mbtowc, NULL }, { iso8859_16_wctomb, NULL }) DEFENCODING(( "KOI8-R", /* IANA, RFC 1489, X11R6.4, JDK 1.1 */ "csKOI8R", /* IANA */ ), koi8_r, { koi8_r_mbtowc, NULL }, { koi8_r_wctomb, NULL }) DEFENCODING(( "KOI8-U", /* IANA, RFC 2319 */ ), koi8_u, { koi8_u_mbtowc, NULL }, { koi8_u_wctomb, NULL }) DEFENCODING(( "KOI8-RU", ), koi8_ru, { koi8_ru_mbtowc, NULL }, { koi8_ru_wctomb, NULL }) /* Windows 8-bit encodings */ DEFENCODING(( "CP1250", /* JDK 1.1 */ "WINDOWS-1250", /* IANA */ "MS-EE", ), cp1250, { cp1250_mbtowc, NULL }, { cp1250_wctomb, NULL }) DEFENCODING(( "CP1251", /* JDK 1.1 */ "WINDOWS-1251", /* IANA */ "MS-CYRL", ), cp1251, { cp1251_mbtowc, NULL }, { cp1251_wctomb, NULL }) DEFENCODING(( "CP1252", /* JDK 1.1 */ "WINDOWS-1252", /* IANA */ "MS-ANSI", ), cp1252, { cp1252_mbtowc, NULL }, { cp1252_wctomb, NULL }) DEFENCODING(( "CP1253", /* JDK 1.1 */ "WINDOWS-1253", /* IANA */ "MS-GREEK", ), cp1253, { cp1253_mbtowc, NULL }, { cp1253_wctomb, NULL }) DEFENCODING(( "CP1254", /* JDK 1.1 */ "WINDOWS-1254", /* IANA */ "MS-TURK", ), cp1254, { cp1254_mbtowc, NULL }, { cp1254_wctomb, NULL }) DEFENCODING(( "CP1255", /* JDK 1.1 */ "WINDOWS-1255", /* IANA */ "MS-HEBR", ), cp1255, { cp1255_mbtowc, cp1255_flushwc }, { cp1255_wctomb, NULL }) DEFENCODING(( "CP1256", /* JDK 1.1 */ "WINDOWS-1256", /* IANA */ "MS-ARAB", ), cp1256, { cp1256_mbtowc, NULL }, { cp1256_wctomb, NULL }) DEFENCODING(( "CP1257", /* JDK 1.1 */ "WINDOWS-1257", /* IANA */ "WINBALTRIM", ), cp1257, { cp1257_mbtowc, NULL }, { cp1257_wctomb, NULL }) DEFENCODING(( "CP1258", /* JDK 1.1 */ "WINDOWS-1258", /* IANA */ ), cp1258, { cp1258_mbtowc, cp1258_flushwc }, { cp1258_wctomb, NULL }) /* DOS 8-bit encodings */ DEFENCODING(( "CP850", /* IANA, JDK 1.1 */ "IBM850", /* IANA */ "850", /* IANA */ "csPC850Multilingual", /* IANA */ ), cp850, { cp850_mbtowc, NULL }, { cp850_wctomb, NULL }) DEFENCODING(( "CP862", /* IANA, JDK 1.1 */ "IBM862", /* IANA */ "862", /* IANA */ "csPC862LatinHebrew", /* IANA */ ), cp862, { cp862_mbtowc, NULL }, { cp862_wctomb, NULL }) DEFENCODING(( "CP866", /* IANA, JDK 1.1 */ "IBM866", /* IANA */ "866", /* IANA */ "csIBM866", /* IANA */ ), cp866, { cp866_mbtowc, NULL }, { cp866_wctomb, NULL }) /* Macintosh 8-bit encodings */ DEFENCODING(( "MacRoman", /* JDK 1.1 */ /* This is the best table for MACINTOSH. The ones */ /* in glibc and FreeBSD-iconv are bad quality. */ "MACINTOSH", /* IANA */ "MAC", /* IANA */ "csMacintosh", /* IANA */ ), mac_roman, { mac_roman_mbtowc, NULL }, { mac_roman_wctomb, NULL }) DEFENCODING(( "MacCentralEurope", /* JDK 1.1 */ ), mac_centraleurope, { mac_centraleurope_mbtowc, NULL }, { mac_centraleurope_wctomb, NULL }) DEFENCODING(( "MacIceland", /* JDK 1.1 */ ), mac_iceland, { mac_iceland_mbtowc, NULL }, { mac_iceland_wctomb, NULL }) DEFENCODING(( "MacCroatian", /* JDK 1.1 */ ), mac_croatian, { mac_croatian_mbtowc, NULL }, { mac_croatian_wctomb, NULL }) DEFENCODING(( "MacRomania", /* JDK 1.1 */ ), mac_romania, { mac_romania_mbtowc, NULL }, { mac_romania_wctomb, NULL }) DEFENCODING(( "MacCyrillic", /* JDK 1.1 */ ), mac_cyrillic, { mac_cyrillic_mbtowc, NULL }, { mac_cyrillic_wctomb, NULL }) DEFENCODING(( "MacUkraine", /* JDK 1.1 */ ), mac_ukraine, { mac_ukraine_mbtowc, NULL }, { mac_ukraine_wctomb, NULL }) DEFENCODING(( "MacGreek", /* JDK 1.1 */ ), mac_greek, { mac_greek_mbtowc, NULL }, { mac_greek_wctomb, NULL }) DEFENCODING(( "MacTurkish", /* JDK 1.1 */ ), mac_turkish, { mac_turkish_mbtowc, NULL }, { mac_turkish_wctomb, NULL }) DEFENCODING(( "MacHebrew", /* JDK 1.1 */ ), mac_hebrew, { mac_hebrew_mbtowc, NULL }, { mac_hebrew_wctomb, NULL }) DEFENCODING(( "MacArabic", /* JDK 1.1 */ ), mac_arabic, { mac_arabic_mbtowc, NULL }, { mac_arabic_wctomb, NULL }) DEFENCODING(( "MacThai", /* JDK 1.1 */ ), mac_thai, { mac_thai_mbtowc, NULL }, { mac_thai_wctomb, NULL }) /* Other platform specific 8-bit encodings */ DEFENCODING(( "HP-ROMAN8", /* IANA, X11R6.4 */ "ROMAN8", /* IANA */ "R8", /* IANA */ "csHPRoman8", /* IANA */ ), hp_roman8, { hp_roman8_mbtowc, NULL }, { hp_roman8_wctomb, NULL }) DEFENCODING(( "NEXTSTEP", ), nextstep, { nextstep_mbtowc, NULL }, { nextstep_wctomb, NULL }) /* Regional 8-bit encodings used for a single language */ DEFENCODING(( "ARMSCII-8", ), armscii_8, { armscii_8_mbtowc, NULL }, { armscii_8_wctomb, NULL }) DEFENCODING(( "GEORGIAN-ACADEMY", ), georgian_academy, { georgian_academy_mbtowc, NULL }, { georgian_academy_wctomb, NULL }) DEFENCODING(( "GEORGIAN-PS", ), georgian_ps, { georgian_ps_mbtowc, NULL }, { georgian_ps_wctomb, NULL }) DEFENCODING(( "KOI8-T", ), koi8_t, { koi8_t_mbtowc, NULL }, { koi8_t_wctomb, NULL }) DEFENCODING(( "MULELAO-1", ), mulelao, { mulelao_mbtowc, NULL }, { mulelao_wctomb, NULL }) DEFENCODING(( "CP1133", "IBM-CP1133", ), cp1133, { cp1133_mbtowc, NULL }, { cp1133_wctomb, NULL }) DEFENCODING(( "TIS-620", /* IANA */ "TIS620", /* glibc */ "TIS620-0", /* glibc */ "TIS620.2529-1", /* glibc */ "TIS620.2533-0", /* glibc */ "TIS620.2533-1", "ISO-IR-166", /* glibc */ ), tis620, { tis620_mbtowc, NULL }, { tis620_wctomb, NULL }) DEFENCODING(( "CP874", /* JDK 1.1 */ "WINDOWS-874", ), cp874, { cp874_mbtowc, NULL }, { cp874_wctomb, NULL }) DEFENCODING(( "VISCII", /* IANA, RFC 1456 */ "VISCII1.1-1", "csVISCII", /* IANA */ ), viscii, { viscii_mbtowc, NULL }, { viscii_wctomb, NULL }) DEFENCODING(( "TCVN", "TCVN-5712", "TCVN5712-1", "TCVN5712-1:1993", ), tcvn, { tcvn_mbtowc, tcvn_flushwc }, { tcvn_wctomb, NULL }) /* CJK character sets (not documented) */ DEFENCODING(( "JIS_C6220-1969-RO", /* IANA */ "ISO646-JP", /* IANA */ "ISO-IR-14", /* IANA */ "JP", /* IANA */ "csISO14JISC6220ro", /* IANA */ ), iso646_jp, { iso646_jp_mbtowc, NULL }, { iso646_jp_wctomb, NULL }) DEFENCODING(( "JIS_X0201", /* IANA */ "JISX0201-1976", "X0201", /* IANA */ "csHalfWidthKatakana", /* IANA */ /*"JISX0201.1976-0", X11R6.4 */ /*"JIS0201", JDK 1.1 */ ), jisx0201, { jisx0201_mbtowc, NULL }, { jisx0201_wctomb, NULL }) DEFENCODING(( "JIS_X0208", "JIS_X0208-1983", /* IANA */ "JIS_X0208-1990", "JIS0208", "X0208", /* IANA */ "ISO-IR-87", /* IANA */ "JIS_C6226-1983", /* IANA */ "csISO87JISX0208", /* IANA */ /*"JISX0208.1983-0", X11R6.4 */ /*"JISX0208.1990-0", X11R6.4 */ /*"JIS0208", JDK 1.1 */ ), jisx0208, { jisx0208_mbtowc, NULL }, { jisx0208_wctomb, NULL }) DEFENCODING(( "JIS_X0212", "JIS_X0212.1990-0", "JIS_X0212-1990", /* IANA */ "X0212", /* IANA */ "ISO-IR-159", /* IANA */ "csISO159JISX02121990", /* IANA */ /*"JISX0212.1990-0", X11R6.4 */ /*"JIS0212", JDK 1.1 */ ), jisx0212, { jisx0212_mbtowc, NULL }, { jisx0212_wctomb, NULL }) DEFENCODING(( "GB_1988-80", /* IANA */ "ISO646-CN", /* IANA */ "ISO-IR-57", /* IANA */ "CN", /* IANA */ "csISO57GB1988", /* IANA */ ), iso646_cn, { iso646_cn_mbtowc, NULL }, { iso646_cn_wctomb, NULL }) DEFENCODING(( "GB_2312-80", /* IANA */ "ISO-IR-58", /* IANA */ "csISO58GB231280", /* IANA */ "CHINESE", /* IANA */ /*"GB2312.1980-0", X11R6.4 */ ), gb2312, { gb2312_mbtowc, NULL }, { gb2312_wctomb, NULL }) DEFENCODING(( "ISO-IR-165", "CN-GB-ISOIR165", /* RFC 1922 */ ), isoir165, { isoir165_mbtowc, NULL }, { isoir165_wctomb, NULL }) DEFENCODING(( "KSC_5601", /* IANA */ "KS_C_5601-1987", /* IANA */ "KS_C_5601-1989", /* IANA */ "ISO-IR-149", /* IANA */ "csKSC56011987", /* IANA */ "KOREAN", /* IANA */ /*"KSC5601.1987-0", X11R6.4 */ /*"KSX1001:1992", Ken Lunde */ ), ksc5601, { ksc5601_mbtowc, NULL }, { ksc5601_wctomb, NULL }) /* CJK encodings */ DEFENCODING(( "EUC-JP", /* IANA */ "EUCJP", /* glibc */ "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA */ "csEUCPkdFmtJapanese", /* IANA */ /*"EUC_JP", JDK 1.1 */ ), euc_jp, { euc_jp_mbtowc, NULL }, { euc_jp_wctomb, NULL }) DEFENCODING(( "SHIFT_JIS", /* IANA */ "SHIFT-JIS", /* glibc */ "SJIS", /* JDK 1.1 */ "MS_KANJI", /* IANA */ "csShiftJIS", /* IANA */ ), sjis, { sjis_mbtowc, NULL }, { sjis_wctomb, NULL }) DEFENCODING(( "CP932", /* glibc */ ), cp932, { cp932_mbtowc, NULL }, { cp932_wctomb, NULL }) DEFENCODING(( "ISO-2022-JP", /* IANA, RFC 1468 */ "csISO2022JP", /* IANA */ /*"ISO2022JP", JDK 1.1 */ ), iso2022_jp, { iso2022_jp_mbtowc, NULL }, { iso2022_jp_wctomb, iso2022_jp_reset }) DEFENCODING(( "ISO-2022-JP-1", /* RFC 2237 */ ), iso2022_jp1, { iso2022_jp1_mbtowc, NULL }, { iso2022_jp1_wctomb, iso2022_jp1_reset }) DEFENCODING(( "ISO-2022-JP-2", /* IANA, RFC 1554 */ "csISO2022JP2", /* IANA */ ), iso2022_jp2, { iso2022_jp2_mbtowc, NULL }, { iso2022_jp2_wctomb, iso2022_jp2_reset }) DEFENCODING(( "EUC-CN", /* glibc */ "EUCCN", /* glibc */ "GB2312", /* IANA */ "CN-GB", /* RFC 1922 */ "csGB2312", /* IANA */ /*"EUC_CN", JDK 1.1 */ ), euc_cn, { euc_cn_mbtowc, NULL }, { euc_cn_wctomb, NULL }) DEFENCODING(( "GBK", /* JDK 1.1 */ "CP936", ), ces_gbk, { ces_gbk_mbtowc, NULL }, { ces_gbk_wctomb, NULL }) DEFENCODING(( "GB18030", /* glibc */ ), gb18030, { gb18030_mbtowc, NULL }, { gb18030_wctomb, NULL }) DEFENCODING(( "ISO-2022-CN", /* IANA, RFC 1922 */ "csISO2022CN", /*"ISO2022CN", JDK 1.1 */ ), iso2022_cn, { iso2022_cn_mbtowc, NULL }, { iso2022_cn_wctomb, iso2022_cn_reset }) DEFENCODING(( "ISO-2022-CN-EXT", /* IANA, RFC 1922 */ ), iso2022_cn_ext, { iso2022_cn_ext_mbtowc, NULL }, { iso2022_cn_ext_wctomb, iso2022_cn_ext_reset }) DEFENCODING(( "HZ", /* RFC 1843 */ "HZ-GB-2312", /* IANA, RFC 1842 */ ), hz, { hz_mbtowc, NULL }, { hz_wctomb, hz_reset }) DEFENCODING(( "EUC-TW", /* glibc */ "EUCTW", /* glibc */ "csEUCTW", /*"EUC_TW", JDK 1.1 */ ), euc_tw, { euc_tw_mbtowc, NULL }, { euc_tw_wctomb, NULL }) DEFENCODING(( "BIG5", /* IANA, JDK 1.1 */ "BIG-5", /* glibc */ "BIG-FIVE", /* glibc */ "BIGFIVE", /* glibc */ "CN-BIG5", /* RFC 1922 */ "csBig5", /* IANA */ ), ces_big5, { ces_big5_mbtowc, NULL }, { ces_big5_wctomb, NULL }) DEFENCODING(( "CP950", /* JDK 1.1 */ ), cp950, { cp950_mbtowc, NULL }, { cp950_wctomb, NULL }) DEFENCODING(( "BIG5-HKSCS", /* IANA */ "BIG5HKSCS", /* glibc */ ), big5hkscs, { big5hkscs_mbtowc, NULL }, { big5hkscs_wctomb, NULL }) DEFENCODING(( "EUC-KR", /* IANA, RFC 1557 */ "EUCKR", /* glibc */ "csEUCKR", /* IANA */ /*"EUC_KR", JDK 1.1 */ ), euc_kr, { euc_kr_mbtowc, NULL }, { euc_kr_wctomb, NULL }) DEFENCODING(( "CP949", /* JDK 1.1 */ "UHC", /* glibc */ ), cp949, { cp949_mbtowc, NULL }, { cp949_wctomb, NULL }) DEFENCODING(( "JOHAB", /* glibc */ "CP1361", /* glibc */ ), johab, { johab_mbtowc, NULL }, { johab_wctomb, NULL }) DEFENCODING(( "ISO-2022-KR", /* IANA, RFC 1557 */ "csISO2022KR", /* IANA */ /*"ISO2022KR", JDK 1.1 */ ), iso2022_kr, { iso2022_kr_mbtowc, NULL }, { iso2022_kr_wctomb, iso2022_kr_reset }) The Japanese synonyms for Shift_JIS are printed in the list's line MS_KANJI SHIFT-JIS SHIFT_JIS SJIS CSSHIFTJIS that correspond to the source DEFENCODING(( "SHIFT_JIS", /* IANA */ "SHIFT-JIS", /* glibc */ "SJIS", /* JDK 1.1 */ "MS_KANJI", /* IANA */ "csShiftJIS", /* IANA */ ), sjis, { sjis_mbtowc, NULL }, { sjis_wctomb, NULL }) The name 'shiftjis' which is the default of Perl's Encode and will be given back by Encode::Alias is not recognized, unfortunately. best, rob.