The SNANLS API allows you to convert single-byte character stream (SBCS) EBCDIC-to-Unicode-to-ANSI and SBCS ANSI-to-Unicode-to-EBCDIC by leveraging the Win32 National Language Support (NLS) API. The NLS API uses resource files containing NLS conversion tables that are installed on the target PC by the setup program for SNA Server 3.0 and later (the setup program also adds the required registry entries). The resource file SNANLS.DLL is supplied with SNA Server 3.0 and later.
The following table shows the character code set identifiers (CCSIDs), code pages, character sets, and conversions supported by SNANLS in SNA Server 3.0 and later. This list was taken from the list of code pages offered to the user in the Host Print Service session's Configuration property sheet, specifically the Host Code Page drop-down list box. The text in quotes is actually displayed in an end-user drop-down list box. The locale identifier (LCID) is for internal reference and is not displayed to the user. Host Print Service checks the default LCID for the target PC, then displays this in the drop-down list as the highlighted selection.
On Windows NT, the default LCID is stored in the registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language\Default.
On Windows 95, the default LCID is stored in the registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Locale\Default.
Locale ID | Locale name | Host code page (CCSID) | NLS EBCDIC number | NLS EBCDIC code page name | Supported by Win32 NLS | Supported by TrnsDT | Supported by SNANLS in SNA Server 3.0 and later |
---|---|---|---|---|---|---|---|
0x0436 | Afrikaans | 500 | 500 | International | yes | yes | |
0x041C | Albanian | 870 | 870 | Latin II | yes | yes | |
0x1401 | Arabic (Algeria) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x3C01 | Arabic (Bahrain) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x0C01 | Arabic (Egypt) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x0801 | Arabic (Iraq) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x2C01 | Arabic (Jordan) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x3401 | Arabic (Kuwait) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x3001 | Arabic (Lebanon) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x1001 | Arabic (Libya) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x1801 | Arabic (Morocco) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x2001 | Arabic (Oman) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x4001 | Arabic (Qatar) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x0401 | Arabic (Saudi Arabia) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x2801 | Arabic (Syria) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x1C01 | Arabic (Tunisia) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x3801 | Arabic (U.A.E.) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x2401 | Arabic (Yemen) | 420 | 20420 | Arabic | yes | partial (See Note) | |
0x042D | Basque | 284 | 20284 | Latin America/Spain | yes | yes | |
0x0423 | Belarusian | 1025 | 21025 | Cyrillic | yes | yes | |
0x0402 | Bulgarian | 1025 | 21025 | Cyrillic | yes | yes | |
0x0403 | Catalan | 284 | 20284 | Latin America/Spain | yes | yes | |
0x0C04 | Chinese (Hong Kong SAR, PRC) | 937 | 937 | Chinese (Traditional) | yes | yes | |
0x1404 | Chinese (Macau) | 937 | 937 | Chinese (Traditional) | yes | yes | |
0x0804 | Chinese (PRC) | 935 | 935 | Chinese (Simplified) | yes | yes | |
0x1004 | Chinese (Singapore) | 935 | 935 | Chinese (Simplified) | yes | yes | |
0x0404 | Chinese (Taiwan Region) | 937 | 937 | Chinese (Traditional) | yes | yes | |
0x041A | Croatian | 870 | 870 | Latin II | yes | yes | |
0x0405 | Czech | 870 | 870 | Latin II | yes | yes | |
0x0406 | Danish | 277 | 20277 | Denmark/Norway | yes | yes | |
0x0813 | Dutch (Belgium) | 500 | 500 | International | yes | yes | |
0x0413 | Dutch (Standard) | 037 | 37 | U.S./Canada | yes | yes | |
0x0C09 | English (Australian) | 037 | 37 | U.S./Canada | yes | yes | |
0x2809 | English (Belize) | 500 | 500 | International | yes | yes | |
0x1009 | English (Canadian) | 037 | 37 | U.S./Canada | yes | yes | |
0x2409 | English (Caribbean) | 500 | 500 | International | yes | yes | |
0x1809 | English (Ireland) | 285 | 20285 | United Kingdom | yes | yes | |
0x2009 | English (Jamaica) | 500 | 500 | International | yes | yes | |
0x1409 | English (New Zealand) | 037 | 37 | U.S./Canada | yes | yes | |
0x1C09 | English (South Africa) | 037 | 37 | U.S./Canada | yes | yes | |
0x2C09 | English (Trinidad) | 500 | 500 | International | yes | yes | |
0x0809 | English (United Kingdom) | 285 | 20285 | United Kingdom | yes | yes | |
0x0409 | English (United States) | 037 | 37 | U.S./Canada | yes | yes | |
0x0425 | Estonian | 1112 | 21112 | Baltic | |||
0x0438 | Faeroese | 277 | 20277 | Denmark/Norway | yes | yes | |
0x040B | Finnish | 278 | 20278 | Finland/Sweden | yes | yes | |
0x080C | French (Belgium) | 500 | 500 | International | yes | yes | |
0x0C0C | French (Canadian) | 037 | 37 | U.S./Canada | yes | yes | |
0x140C | French (Luxembourg) | 500 | 500 | International | yes | yes | |
0x040C | French (Standard) | 297 | 20297 | France | yes | yes | |
0x100C | French (Swiss) | 500 | 500 | International | yes | yes | |
0x0C07 | German (Austrian) | 273 | 20273 | Germany | yes | yes | |
0x1407 | German (Liechtenstein) | 500 | 500 | International | yes | yes | |
0x1007 | German (Luxembourg) [500] | 500 | 500 | International | yes | yes | |
0x0407 | German (Standard) | 273 | 20273 | Germany | yes | yes | |
0x0807 | German (Swiss) | 500 | 500 | International | yes | yes | |
0x0408 | Greek | 423 | 20423 | Greek | yes | yes | |
0x0408 | Greek (Modern) | 875 | 875 | Greek (Modern) | yes | yes | |
0x040D | Hebrew | 424 | 20424 | Israel | partial (See Note) | ||
0x040E | Hungarian | 870 | 870 | Latin II | yes | yes | |
0x040F | Icelandic | 871 | 20871 | Icelandic | yes | yes | |
0x0421 | Indonesian | 037 | 37 | U.S./Canada | yes | yes | |
0x0000 | International | 500 | 500 | International | yes | yes | |
0x0410 | Italian | 280 | 20280 | Italy | yes | yes | |
0x0810 | Italian (Swiss) | 500 | 500 | International | yes | yes | |
0x0411 | Japanese (English-lower) | 931 | 931 | Japan | yes | yes | |
0x0411 | Japanese (Extend English) | 939 | 939 | Japan | yes | yes | |
0x0411 | Japanese (Extend Katakana) | 930 | 930 | Japan | yes | yes | |
0x0411 | Japanese (Katakana) | 290 | 290 | Japan | yes | yes | |
0x0412 | Korean | 933 | 933 | Korean DBCS | yes | yes | |
0x0426 | Latvian | 1112 | 21112 | Baltic | |||
0x0427 | Lithuanian | 1112 | 21112 | Baltic | |||
0x042F | Macedonian | 1025 | 21025 | Cyrillic | yes | yes | |
0x043E | Malay | 037 | 37 | U.S./Canada | yes | yes | |
0x0414 | Norwegian (Bokmal) | 277 | 20277 | Denmark/Norway | yes | yes | |
0x0814 | Norwegian (Nynorsk) | 277 | 20277 | Denmark/Norway | yes | yes | |
0x0415 | Polish | 870 | 870 | Latin II | yes | yes | |
0x0416 | Portuguese (Brazilian) | 037 | 37 | U.S./Canada | yes | yes | |
0x0816 | Portuguese (Standard) | 037 | 37 | U.S./Canada | yes | yes | |
0x0418 | Romanian | 870 | 870 | Latin II | yes | yes | |
0x0419 | Russian | 880 | 20880 | Russian | yes | yes | |
0x0C1A | Serbian (Cyrillic) | 1025 | 21025 | Cyrillic | yes | yes | |
0x081A | Serbian (Latin) | 870 | 870 | Latin II | yes | yes | |
0x041B | Slovak | 870 | 870 | Latin II | yes | yes | |
0x0424 | Slovenian | 870 | 870 | Latin II | yes | yes | |
0x2C0A | Spanish (Argentina) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x400A | Spanish (Bolivia) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x340A | Spanish (Chile) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x240A | Spanish (Columbia) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x140A | Spanish (Costa Rica) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x1C0A | Spanish (Dominican Rep.) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x300A | Spanish (Ecuador) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x440A | Spanish (El Salvador) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x100A | Spanish (Guatemala) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x180A | Spanish (Honduras) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x080A | Spanish (Mexico) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x0C0A | Spanish (Modern Sort) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x4C0A | Spanish (Nicaragua) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x180A | Spanish (Panama) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x3C0A | Spanish (Paraguay) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x280A | Spanish (Peru) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x500A | Spanish (Puerto Rico) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x040A | Spanish (Trad. Sort) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x380A | Spanish (Uruguay) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x200A | Spanish (Venezuela) | 284 | 20284 | Latin America/Spain | yes | yes | |
0x041D | Swedish | 278 | 20278 | Finland/Sweden | yes | yes | |
0x041E | Thai | 838 | 20838 | Thai | yes | yes | |
0x041F | Turkish | 905 | 20905 | Turkish | yes | yes | |
0x041F | Turkish (Latin-5) | 1026 | 1026 | Turkish (Latin 5) | yes | yes | |
0x0422 | Ukrainian | 1025 | 21025 | Cyrillic | yes | yes |
Note Support for Arabic and Hebrew code page conversions are limited to left-to-right output. Bidirectional output including the default Arabic and Hebrew right-to-left output is not supported in this release of SNA Server.