Choosing client or server CCSID

Use the local coded character set identifier (CCSID) for the client. The queue manager performs necessary conversion. Use the MQCCSID environment variable to override the CCSID. If your application performs multiple PUTs, the CCSID and encoding fields of the MQMD can be overwritten after completion of the first PUT.

The data passed across the message queue interface (MQI) from the application to the client stub must be in the local CCSID, encoded for the IBM® MQ MQI client. If the connected queue manager requires the data to be converted, then conversion is done by the client support code on the queue manager.

In IBM WebSphere® MQ 7.0 and later versions, the Java client can do the conversion if the queue manager is unable to do so. See IBM MQ classes for Java client connections.

The client code assumes that the character data crossing the MQI in the client is in the CCSID configured for that workstation. If this CCSID is an unsupported CCSID or is not the required CCSID, it can be overridden with the MQCCSID environment variable by using one of these commands:
  • [Windows]
    
    SET MQCCSID=850
    
  • [UNIX]
    
    export MQCCSID=850
    
  • [IBM i]
    
    ADDENVVAR ENVVAR(MQCCSID) VALUE(37)
    

If this parameter is set in the profile, all MQI data is assumed to be in code page 850.

Note: The assumption about code page 850 does not apply to application data in the message.

If your application is performing multiple PUTs that include IBM MQ headers after the message descriptor (MQMD), be aware that the CCSID and encoding fields of the MQMD are overwritten after completion of the first PUT.

After the first PUT, these fields contain the value used by the connected queue manager to convert the IBM MQ headers. Ensure that your application resets the values to the values it requires.