APAR status
Closed as program error.
Error description
A MQ classes for JMS application is sending a message to a queue, specifying the character encoding of the MQ Message to the CCSID value '1386', by setting the following message property: message.setStringProperty("JMS_IBM_Character_Set", "1386"); However when the message is viewed on the queue using the MQ Explorer, it is observed that the RFH2 specified CCSID (which specifies the character encoding of the following field in the MQ message - the body of the message in this instance), is set to CCSID 936, and not the 1386 value which had been specified in the application.
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of the Java components of MQ, including: - MQ classes for Java - MQ classes for JMS - MQ Managed File Transfer - MQ Explorer who are sending or receiving messages declared to be encoded in CCSID 936 or 1386. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: The Java components of MQ utilise a common class: com.ibm.mq.jmqi.system.JmqiCodepage which interfaces with the Java Runtime Environment (JRE) to provide the character encoding and decoding functionality which is used when sending or receiving MQ messages. In order to enable this capability, the JmqiCodepage class uses a map of IBM Coded Character Set Identifiers (CCSIDs) to Java Charset names. For example, an entry in this map is: CCSID 1208 Charset: "UTF-8" When a message is received which is declared to contain character data encoded in CCSID 1208, this class uses the Java Charset name "UTF-8" to decode the bytes back into character data. There are often more than one 'alias' name for a Java Charset for a particular entry, which can vary between JREs. Continuing the example with the CCSID 1208 entry, the full set of values used in MQ 9.2 are: CCSID 1208 Charset canonical name: "UTF-8" Charset alias names: "UTF8" "UTF_8" "unicode-1-1-utf-8" The generation of this mapping was altered in MQ 8.0.0.7 for the CCSID values 936 and 1386 - both of which are associated with Simplified Chinese character sets. In 8.0.0.6, these mappings were: CCSID 936 -> "936" "MS936" "windows-936" "x-mswin-936" CCSID 1386 -> "Cp1386" "GBK" "IBM-1386" "ibm1386" In 8.0.0.7, these entries were combined together into the following form: CCSID 936, 1386, 5482 Charset names: "1386" "936" "CP936" "Cp1386" "GBK" "cp1386" "cp936" "ibm-1386" "ibm-936" "ibm1386" "ibm936" "ms936" "ms_936" "windows-936" "x-ibm1386" "x-mswin-936" This is an incorrect mapping. CCSIDs 936 and 1386 are not identical, and should not be treated as such.
Problem conclusion
The map has been updated such that the entries are now of the form: CCSID 936: Charset: GBK Aliases: 936,CP936,GBK,cp936,ibm-936,ibm936,windows-936 CCSID 1386 and 5482: Charset: x-IBM1386 Aliaes: 1386,cp1386,ibm-1386,ibm1386,x-IBM1386,x-ibm1386 There are two points to note here: (a) IBM, Oracle and the OpenJDK JREs associated CCSID 936 with the Charset "GBK", and not CCSID 1386 as was previously declared. (b) CCSID 1386 is supported when used with the IBM JRE, but other non-IBM JREs may not contain support for an equivalent Charset. Therefore, for example, a message being consumed by a MQ classes for JMS application may fail to be consumed when running using the OpenJDK, if the message is declared to contain character data encoded in CCSID 1386, and none of the above names are found to be supported with the OpenJDK. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.2 LTS 9.2.0.7 v9.3 LTS 9.3.0.1 v9.x CD 9.3.1 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT41229
Reported component name
MQ BASE V9.2
Reported component ID
5724H7281
Reported release
920
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-06-15
Closed date
2022-07-18
Last modified date
2022-09-08
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
MQ BASE V9.2
Fixed component ID
5724H7281
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"920","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
08 September 2022