Previous Topic Next topic Print topic


UNIX character encoding

On UNIX systems, the COBOL runtime is normally not concerned with the data encoding used by the underlying operating system. However, note that Latin-1 (ISO-8859-1) is important for the U.S. and Latin-9 (ISO-8859-15) is significant for Western Europe because it contains the Euro currency symbol.

The MF_XMLEXT_LOCAL_ENCODING Environment Variable may specify the built-in and predefined values of MF_LATIN_1 and MF_LATIN_9. These values are used to designate that either Latin-1 or Latin-9 is being used as the local character encoding. Internal translation functions convert between either Latin-1 or Latin-9 (in COBOL memory) and UTF-8 (in the XML document). The value of the environment variable is case insensitive, with hyphen and underscore characters being optional. For example, "MF_LATIN_9", "Mf-Latin-9", and "mflatin9" are equivalent.

If the value of the MF_XMLEXT_LOCAL_ENCODING environment variable is not specified, then MF_LATIN_9 is used as the default.

If the value of the MF_XMLEXT_LOCAL_ENCODING environment variable is specified with a value that is not MF_LATIN_1 or MF_LATIN_9, then the value that is passed must be a name recognized by the iconv library. The iconv library can perform other conversions. In this case, the spelling may need to be exact (for example, the value may be case sensitive, and hyphens and underscores would be required). The exact spelling of the value of the MF_XMLEXT_LOCAL_ENCODING environment variable is specific to the iconv library on the platform in use.

Note: Micro Focus does not provide an iconv library. The developer must acquire an appropriate package.

The value of the MF_ICONV_NAME environment variable, if one is defined, is used to locate the iconv library (which must be a shared object) on the local system. For example: MF_ICONV_NAME=/usr/local/bin/libiconv.so

If the MF_ICONV_NAME environment variable is not set, then the PATH environment variable is searched for either of the specific names, iconv.so or libiconv.so (in that order).

Previous Topic Next topic Print topic