Porting Central
Skip to main content

Porting Central

Unicode support on iSeries

Unicode.org provides an introduction to Unicode.

I5/OS V5R3 Unicode support includes:

  • Data storage
    Integrated File System (IFS) stream files can store Unicode data. The Unicode data can be UCS2 (CCSID 13488), UTF16 (CCSID 1200) or UTF8 (CCSID 1208) The stream files can be accessed via interfaces such as IFS commands, IFS APIs, Client Access/400 network drive function, and NetServer. Using file system APIs the stream files can be opened in binary mode in which case the application works directly with Unicode encoded data, or in text mode in which case the application works with data encoded in the job CCSID.

    DB2 UDB for iSeries tables can store Unicode data. The Unicode data can be defined using the Graphic datatype for UCS2 and UTF16, or as character data for UTF8. The tables can be accessed via interfaces such as system commands, high level languages such as C, RPG, and COBOL, SQL and JDBC/ODBC. As with the Integrated File System, the system can provide conversion support for Unicode encoded data or make the data available as is.
  • Programming
    Unicode data can be directly handled in environments such as Java, ILE C/C++, or RPG . DDS (file, display, and print) and SQL for DB2 UDB for iSeries access also supports Unicode. The iconv() API provides data conversion support for Unicode as well.
  • Communication
    Unicode can be used for data interchange with other platforms. In addition i5/OS supports Unicode in a 5250 terminal environment. Depending on the terminal capability i5/OS can send Unicode data directly (as with iSeries Access for Web) or automatically convert Unicode data to an EBCDIC encoding (as with a Client Access 5250 session). Unicode data can also be used directly or with automatic conversion when working with printer data streams.

For further information on i5/OS Unicode support refer to the Information Center. Select the Programming topic, then Globalization.

Unicode and Porting

If you currently have single-byte (SBCS) applications running on the other platforms than iSeries and want to provide an internationalized application on iSeries, you will need to consider what you have to do to make them run in both single-byte (SBCS) and double-byte (DBCS) environments.

If you don't utilize Unicode technology, porting plus internationalizing requires a two step approach, as the following diagram shows. One approach is to first port the applications to iSeries as single-byte (SBCS), then make them double-byte (DBCS) enabled. Another approach is to first make your application double-byte (DBCS) enabled on the originating platform, then port to iSeries. Either approach requires several steps and therefore multiple port efforts.

The diagram represents how the porting steps to be considered.

Unicode technology can simplify the approach. It incorporates both single-byte and double-byte data, and a one step port effort can make the application run in both SBCS and DBCS environments on iSeries. Unicode support on iSeries is one of the most frequently enhanced functions.