Closed as program error.
. There is an incompatibility between Unicode 2.0 and Unicode 3.0 for GBK converter. The GBK converter with Unicode 2.0 supports user defined area of characters where as GBK converter with Unicode 3.0 standard supports only standard defined characters and hence cannot recognises user defined area characters. . The GBK converter in IBM JDK supports Unicode 3.0 standards. Hence, if IBM JDK is used to process data from databases (or other data sources) which store data in Unicode 2.0 standard (like Oracle DB), then IBM JDK cannot recognises charcters in user defined area. . If GBK converter in IBM JDK is modified to support Unicode 2.0 standards, it can regress the existing customers which expect the data in Unicode 3.0 standards. Hence IBM JDK had introduced a new code page MS936A through LIR 15065 which supports GBK with Unicode 2.0 standards. if customer use -Dfile.encoding=MS936A, it will use the GBK converter with Unicode 2.0 standards. This feature serves most of the customer requirement. However, if customer hard-code "GBK" as the encoding in their application, then IBM JDK continue to use the GBK converter which follow Unicode 3.0 standards. . This requirement is raised to switch GBK converter to Unicode 2.0 or Unicode 3.0 on Demand.
Avoid hard-coding "GBK" encoding in the application and use -Dfile.encoding=MS936A.
The requirement is to build a switch, to allow IBM JDK support either Unicode 2.0 code table or Unicode 3.0 code table for converting from GBK encoding. By default, Unicode 3.0 standard is used by IBM JDK for GBK encoding. In order to get GBK encoding with Unicode 2.0 standards, use the system property 'file.encoding=bestfit936'
This feature is avilable in: 6.0.0 SR11 6.0.1 SR3 7.0.0 SR3
Reported component name
JAVA CLASS LIBS
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
JAVA CLASS LIBS
Fixed component ID
Applicable component levels