DB2 - Problem description
Problem IC87901 | Status: Closed |
SQUARE BRACKETS([ ]) AND CARET(^) CHARACTERS ARE REPLACED BY SUB STITUTE CHARACTERS ON CODEPAGE CONVERSION FROM CP937 TO CP950. | |
product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
Problem description: | |
Square brackets([ ]) and caret(^) characters from source codepage 937 to target codepage 950 replaced by substitute characters on codepage covnersion. DB2 users can use alternate table 09370950.cnv provided as the APAR fix to map these characters([,],^) to appropriate codepoints. The alternate conversion table "09370950.cnv" is located under sqllib/conv/alt directory. To get the updated mapping, copy the alternate table from sqllib/conv/alt directory to sqllib/conv directory and rerun your application or database/instance in some circumstances, eg. accessing nickname via federated server. The default mapping without the alternate conversion table: 937 950 char code code char ---- ---- ---- ---- ? 4A 5B [ ? 5F 5E ^ | 6A 5D ] ^ B0 7F SUB [ BA 7F SUB ] BB 7F SUB New mapping after applying alternate table: 937 950 char code code char ---- ---- ---- ---- ? 4A 7F SUB ? 5F 7F SUB | 6A 7F SUB ^ B0 5E ^ [ BA 5B [ ] BB 5D ] Codpage 937 is host codepage for Taiwan and territory identifier is TW. Issue is applicable if database is on host system (eg iSeries). | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to v10.1.2 or higher fixpack. * **************************************************************** | |
Local Fix: | |
To make the conversion same as new mapping without the alternate conversion table, codepage 1208(Unicode) shall be involved as an intermediate. For example, if nickname via federated server is used for accessing database with CP937 on iSeries, and the local database is using CP950 on LUW platform, then conversion from CP937 to CP950 will happen. To bypass conversion 937->950, it is better to create a UTF8 database and create nickname in it. Then, the conversion will become 937->1208->950. The steps are similar to following steps. 1. create database new using codeset UTF8 territory TW 2. create wrapper, server, nickname in the UTF8 database for accessing db with CP937 on AS400. 3. db2set DB2CODEPAGE=950 4. db2 terminate Then, the conversion will be 937->1208->950 every time accessing data in db with CP937 using db2 CLP. | |
available fix packs: | |
DB2 Version 10.1 Fix Pack 2 for Linux, UNIX, and Windows | |
Solution | |
Upgrade to v10.1.2 or higher fixpack. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 04.11.2012 02.01.2013 02.01.2013 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.1.0.2 | |
10.5.0.2 |