UDM - IBM i Codepage - CCSID Mappings
IBM i Codepage - CCSID Mappings
Information that is stored, moved, and displayed on IBM i has a CCSID (Coded Character Set IDentifier) number associated with it. UDM uses these CCSID numbers, where appropriate, when creating data files, transferring data, and storing data.
Each language available on IBM i has an associated CCSID. The CCSID identifies the mapping of numeric representations associated with each letter or symbol represented by the computer. It also identifies the glyphs required to represent those characters and symbols when displayed. UDM is not concerned about the display aspect of a CCSID or the associated data, only about the mapping between these numeric representations.
Code pages provide one mechanism of mapping (translating) between these numeric representations. Another means of representing these mappings is to use two CCSIDs: one for the data origin and another for the data destination. For example, when writing data to a file on IBM i, the data stream being sent to the file has an associated CCSID and the file itself has an associated CCSID. In this way, the operating system knows how to provide the translation between data to be written to a file and the data that is physically on the disk file.
IBM i
For UDM on IBM i, the data stream CCSID is established via the code page to CCSID mapping file which is controlled by the UDM Manager CODEPAGE_TO_CCSID_MAP configuration option and the UDM Server CODEPAGE_TO_CCSID_MAP configuration option.
Of course, the translation also works the other way around, when data is read from a disk, it is translated from the physical disk back to the data stream. One special CCSID is 65535, which indicates that no translation is to take place.
When transferring data between computer systems, UDM allows the specification of a code page for each system.
For example:
This tells UDM that the two code pages iso8859-1 and IBM037 are to be used for mapping data between the two systems.
Very often, the numeric portion of a code page also is a CCSID to which the code page relates. In this case, the numeric representations represented by the code page are the same as those represented by the CCSID. One example of this common identification is the code page IBM037 and the CCSID 037. This code page and CCSID represent the native numeric representation of data under IBM i.
The default code page for UDM is IBM037. This is the internal code page, as well as the default external code page used for the control session and data session, unless overridden by the configuration file or the CODEPAGE parameter on the open command (data session only).
CCSID Mapping
In order to get data to and from a file with a given CCSID, a corresponding CCSID matching the data session code page must be used in order to map the data correctly.
The data stream CCSID is mapped from the code page via the code page to CCSID mapping table. By default, internal tables provide this mapping; however, see the UDM Manager CODEPAGE_TO_CCSID_MAP configuration option or the UDM Server CODEPAGE_TO_CCSID_MAP configuration option regarding setting up an external file.
If a mapping cannot be made, the following occurs:
- Warning is issued to the user.
- Copy operation fails.
ASCII code pages can map to CCSIDs that are available in the HFS file system but not the LIB file system. If one of these code pages is used, a different warning should be issued that lets the user know that the mapping will work for HFS, but the behavior in the LIB file system is indeterminate.
The following table contains those mappings.
Note
If a code page contains a dash ( - ) in the name (for example, ISO8859-1), an underscore ( _ ) must replace the ( - ) when the code page is used in a UDM script.
Code Page |
CCSID |
HFS |
LIB |
---|---|---|---|
IBM037 |
037 |
|
|
IBM273 |
273 |
|
|
IBM277 |
277 |
|
|
IBM278 |
278 |
|
|
IBM280 |
280 |
|
|
IBM284 |
284 |
|
|
IBM500 |
500 |
|
|
IBM1047 |
|
|
|
IBM1140 |
1140 |
|
|
IBM1141 |
1141 |
|
|
IBM1142 |
1142 |
|
|
IBM1143 |
1143 |
|
|
IBM1144 |
1144 |
|
|
IBM1145 |
1145 |
|
|
IBM1146 |
1146 |
|
|
IBM1147 |
1147 |
|
|
IBM1148 |
1148 |
|
|
ISO8859-1 |
819 |
|
|
ISO8859-2 |
912 |
|
|
ISO8859-4 |
914 |
|
|
ISO8859-5 |
915 |
|
|
ISO8859-6 |
1089 |
|
|
ISO8859-7 |
813 |
|
|
ISO8859-8 |
916 |
|
|
ISO8859-9 |
920 |
|
|
ISO8859-13 |
921 |
|
|
ISO8859-15 |
923 |
|
|
PC437 |
437 |
|
|
PC737 |
737 |
|
|
PC775 |
775 |
|
|
PC850 |
850 |
|
|
PC852 |
852 |
|
|
PC855 |
855 |
|
|
PC857 |
857 |
|
|
PC860 |
860 |
|
|
PC861 |
861 |
|
|
PC862 |
862 |
|
|
PC863 |
863 |
|
|
PC864 |
864 |
|
|
PC865 |
865 |
|
|
PC866 |
866 |
|
|
PC869 |
869 |
|
|
PC874 |
874 |
|
|
WIN1250 |
1250 |
|
|
WIN1251 |
1251 |
|
|
WIN1252 |
1252 |
|
|
WIN1253 |
1253 |
|
|
WIN1254 |
1254 |
|
|
WIN1255 |
1255 |
|
|
WIN1256 |
1256 |
|
|
WIN1257 |
1257 |
|
|
WIN1258 |
1258 |
|
|