National language support (NLS) considerations

When qsh starts, it initializes internal tables for processing commands based on the CCSID of the job. When reading files, qsh and many utilities dynamically translate files from the CCSID of the file to the CCSID of the job.

For everything to run correctly, you must configure your environment as documented in the tables below.

A locale contains information about a language and country or region, including how to sort and classify characters and the formats for dates, times, numbers, and monetary values. A locale is set by setting the LANG environment variable to the path name to a locale object. For example, to set the locale for US English, the LANG environment variable is set as follows:


LANG=/QSYS.LIB/EN_US.LOCALE

It is best to set the LANG environment variable before starting qsh. Some utilities will not work correctly if the locale is not valid for the CCSID and language ID of the job as shown in the tables below.

There can be problems in the following situations:

  • In an interactive session, if the CCSID of a job is different from the CCSID of the display device, qsh does not recognize certain special characters.
  • If there is no support for translating between the CCSID of a script file and the CCSID of the job, then the file cannot be opened.

Supported CCSIDs

The following table shows the supported CCSIDs. It is indexed by CCSID number. If a CCSID is not in the table, qsh sends message 001-0072 and runs as if it was started in CCSID 37.

Supported CCSIDs
CCSID Code Page Description
00037 00037 USA, Canada
00256 00256 International #1
00273 00273 Germany, Austria
00277 00277 Denmark, Norway
00278 00278 Finland, Sweden
00280 00280 Italy
00284 00284 Spain, Latin America
00285 00285 United Kingdom
00297 00297 France
00424 00424 Israel (Hebrew)
00425 00425 Arabic
00500 00500 Belgium, Canada, Switzerland
00833 00833 Korea Extended Single-byte
00836 00836 Simplified Chinese Extended Single-byte
00838 00838 Thailand Extended
00870 00870 Latin-2 Multilingual
00871 00871 Iceland
00875 00875 Greece
00880 00880 Cyrillic Multilingual
00905 00905 Turkey Extended
00918 00918 Pakistan
00933 00833, 00834 Korea Extended Mixed
00935 00836, 00837 Simplified Chinese Extended Mixed
00937 00037, 00835 Traditional Chinese Extended Mixed
00939 01027, 00300 Japan English Extended Mixed
01025 01025 Cyrillic Multilingual
01026 01026 Turkey
01027 01027 Japan Latin Extended Single-byte
01097 01097 Farsi
01112 01112 Baltic Multilingual
01122 01122 Estonian
01123 01123 Cyrllic Ukraine
01130 01130 Vietnam
01132 01132 Lao
01137 01137 Devanagari
01140 01140 USA, Canada euro
01141 01141 Germany, Austria euro
01142 01142 Denmark, Norway euro
01143 01143 Finland, Sweden euro
01144 01144 Italy euro
01145 01145 Spain, Latin America euro
01146 01146 United Kingdom euro
01147 01147 France euro
01148 01148 Belgium, Canada, Switzerland euro
01149 01149 Iceland euro
01153 01153 Latin-2 Multilingual euro
01154 01154 Cyrllic Multilingual euro
01155 01155 Turkey euro
01156 01156 Baltic Multilingual euro
01157 01157 Estonia euro
01158 01158 Cyrillic Ukraine euro
01160 01160 Thailand Extended euro
01164 01164 Vietnam euro
01388 00836, 00837 Simplified Chinese Host Data Mixed
01399 01399, 00300 Japan English Extended Mixed euro
05035 01027, 00300 Japan English Extended Mixed
05123 01399 Japan English Extended Single-byte euro
09030 00838 Thailand Extended Single-byte
13124 00836 Simplified Chinese Host Data Single-byte
28709 00037 Traditional Chinese Extended

Supported Languages

The following table shows the supported languages. It is indexed by language. In the Language field, the value in parentheses is the value to use for the LANGID parameter of the CHGJOB CL command. In the Country or Region field, the value in parentheses is the value to use for the CNTRYID parameter of the CHGJOB CL command.

Note that there are more valid combinations of Language, Country or Region, CCSID, and Locale than are listed in the table. For example, there is only one entry for the Spanish language even though it is used in more than one country or region.

When running Qshell, the LANGID, CNTRYID, CCSID job attributes must be set to the values listed in the table, and the LANG environment variable must be set to the listed locale.

Supported Languages
Language Country or Region Id CCSID Locale
Albanian (SQI) Albania (AL) 00500 /QSYS.LIB/SQ_AL.LOCALE
Arabic (ARA) Arabic Area (AA) 00425 /QSYS.LIB/AR_AA.LOCALE
Belgian Dutch (NLB) Belgium (BE) 00500 /QSYS.LIB/NL_BE.LOCALE
Belgian Dutch Euro (NLB) Belgium (BE) 01148 /QSYS.LIB/NL_BE_E.LOCALE
Belgian French (FRB) Belgium (BE) 00500 /QSYS.LIB/FR_BE.LOCALE
Belgian French Euro (FRB) Belgium (BE) 01148 /QSYS.LIB/FR_BE_E.LOCALE
Belgium English (ENB) Belgium (BE) 00500 /QSYS.LIB/EN_BE.LOCALE
Brazilian Portugese (PTB) Brazil (BR) 00037 /QSYS.LIB/PT_BR.LOCALE
Bulgarian (BGR) Bulgaria (BG) 00037 /QSYS.LIB/BG_BG.LOCALE
Canadian French (FRC) Canada (CA) 00500 /QSYS.LIB/FR_CA.LOCALE
Croatian (HRV) Croatia (HR) 00870 /QSYS.LIB/HR_HR.LOCALE
Czech (CSY) Czech Republic (CZ) 00870 /QSYS.LIB/CS_CZ.LOCALE
Danish (DAN) Denmark (DK) 00277 /QSYS.LIB/DA_DK.LOCALE
Dutch (NLD) Netherlands (NL) 00037 /QSYS.LIB/NL_NL.LOCALE
Dutch Euro (NLD) Netherlands (NL) 01140 /QSYS.LIB/NL_NL_E.LOCALE
English Upper Case (ENP) United States (US) 00037 /QSYS.LIB/EN_UPPER.LOCALE
Estonian (EST) Estonia (EE) 01122 /QSYS.LIB/ET_EE.LOCALE
Finnish (FIN) Finland (FI) 00278 /QSYS.LIB/FI_FI.LOCALE
Finnish Euro (FIN) Finland (FI) 01143 /QSYS.LIB/FI_FI_E.LOCALE
French (FRA) France (FR) 00297 /QSYS.LIB/FR_FR.LOCALE
French Euro (FRA) France (FR) 01147 /QSYS.LIB/FR_FR_E.LOCALE
German (DEU) Germany (DE) 00273 /QSYS.LIB/DE_DE.LOCALE
German Euro (DEU) Germany (DE) 01141 /QSYS.LIB/DE_DE_E.LOCALE
Greek (ELL) Greece (GR) 00875 /QSYS.LIB/EL_GR.LOCALE
Hebrew (HEB) Israel (IL) 00424 /QSYS.LIB/IW_IL.LOCALE
Hungarian (HUN) Hungary (HU) 00870 /QSYS.LIB/HU_HU.LOCALE
Icelandic (ISL) Iceland (IS) 00871 /QSYS.LIB/IS_IS.LOCALE
Italian (ITA) Italy (IT) 00280 /QSYS.LIB/IT_IT.LOCALE
Italian Euro (ITA) Italy (IT) 01144 /QSYS.LIB/IT_IT_E.LOCALE
Japanese Katakana (JPN) Japan (JP) 05035 /QSYS.LIB/JA_5035.LOCALE
Japanese Full (JPN) Japan (JP) 13488 /QSYS.LIB/JA_13488.LOCALE
Korean (KOR) South Korea (KR) 00933 /QSYS.LIB/KO_KR.LOCALE
Latvian (LVA) Latvia (LV) 01112 /QSYS.LIB/LV_LV.LOCALE
Lithuanian (LTU) Lithuania (LT) 01112 /QSYS.LIB/LT_LT.LOCALE
Macedonian (MKD) Macedonia (MK) 01025 /QSYS.LIB/MK_MK.LOCALE
Norwegian (NOR) Norway (NO) 00277 /QSYS.LIB/NO_NO.LOCALE
Polish (PLK) Poland (PL) 00870 /QSYS.LIB/PL_PL.LOCALE
Portugese (PTG) Portugal (PT) 00037 /QSYS.LIB/PT_PT.LOCALE
Portugese Euro (PTG) Portugal (PT) 01140 /QSYS.LIB/PT_PT_E.LOCALE
Romanian (ROM) Romania (RO) 00870 /QSYS.LIB/RO_RO.LOCALE
Russian (RUS) Russia (RU) 01025 /QSYS.LIB/RU_RU.LOCALE
Serbian Cyrillic (SRB) Serbia (SQ) 01025 /QSYS.LIB/SR_SP.LOCALE
Serbian Latin (SRL) Serbia (SQ) 00870 /QSYS.LIB/SH_SP.LOCALE
Simplified Chinese (CHS) China (CN) 00935 /QSYS.LIB/ZH_CN.LOCALE
Slovakian (SKY) Slovakia (SK) 00870 /QSYS.LIB/SK_SK.LOCALE
Slovenian (SLO) Slovenia (SI) 00870 /QSYS.LIB/SL_SI.LOCALE
Spanish (ESP) Spain (ES) 00284 /QSYS.LIB/ES_ES.LOCALE
Spanish Euro (ESP) Spain (ES) 01145 /QSYS.LIB/ES_ES_E.LOCALE
Swedish (SVE) Sweden (SE) 00278 /QSYS.LIB/SV_SE.LOCALE
Swiss French (FRS) Switzerland (CH) 00500 /QSYS.LIB/FR_CH.LOCALE
Swiss German (DES) Switzerland (CH) 00500 /QSYS.LIB/DE_CH.LOCALE
Thai (THA) Thailand (TH) 00838 /QSYS.LIB/TH_TH.LOCALE
Turkish (TRK) Turkey (TR) 00905 /QSYS.LIB/TR_TR.LOCALE
Ukrainian (UKR) Ukraine (UA) 01025 /QSYS.LIB/UK_UA.LOCALE
UK English (ENG) United Kingdom (GB) 00285 /QSYS.LIB/EN_GB.LOCALE
US English (ENU) United States (US) 00037 /QSYS.LIB/EN_US.LOCALE