Considerations for output files and Unicode
When data from the Db2 log contains Unicode characters,
Log Master
takes different actions depending on the context where the characters occur:
- When Unicode characters occur in Db2 object names, Log Master translates Unicode to EBCDIC
- When Unicode characters occur in column data, Log Master translates Unicode to EBCDIC except for the following types of programmatically readable output
- Data portion (not record header) of records in logical log data files
- Data portion (not record header) of records in load data files
When Log Master cannot successfully translate one or more characters from Unicode to EBCDIC and must write output that contains those characters, it takes the following actions:
- Issues a warning message to provide hexadecimal representation of the original Unicode characters (message BMC097411 for Db2 object names or message BMC097231 for column data)
Includes substitute characters in the output as defined by the applicable CCSID conversion information (for example, x'3F')
(In SQL output, Log Master uses hexadecimal representation to include the original Unicode characters.)
Continues processing
The following table describes the additional actions that Log Master can take depending on the form of output.
Context of untranslatable characters
Type of output file
Product action
Db2 object names
SQL statements
Embeds additional comments in SQL output file with hexadecimal representation of the original Unicode characters of the object name, and includes substitute characters (for example, x'3F') in object name.
Reports
Includes substitute characters in object names.
Logical log files
In the control file:
- Updates several control file records by setting 'flag' fields and writing original Unicode object names into designated fields (XTYP , DTSI , DTBI , DCLI , DCL2 , DLCI , or DIXI).
- Other logical log control file fields include Db2 object name with substitute characters
In the data file, includes substitute characters in object names within header of data records.
Load files
Includes substitute characters in object names.
DDL statements
Issues message BMC097426 as a warning, embeds additional comments in output data definition language (DDL) file, and includes substitute characters in object names.
Log record data
SQL statements
Uses x'nnnnnnnn' notation to include Unicode characters in data portion of SQL statements (UX'xxxxxxxx' for graphic Unicode characters).
Reports
Writes additional lines in the report to note the presence of untranslated characters in data, including hexadecimal representation of the original Unicode characters.
Logical log files
Logical log data file includes original Unicode data (no error or warning).
Load files
Load data file includes original Unicode data (no error or warning).
DDL statements
Issues message BMC097426 as a warning, embeds additional comments in output data definition language (DDL) file, and includes substitute characters in object names.
Related topic