Author |
Message
|
zukons |
Posted: Wed Jun 14, 2006 9:56 am Post subject: CCSID set to 1200 for AIX problem |
|
|
Newbie
Joined: 14 Jun 2006 Posts: 4
|
CCSID set to 1200 for AIX problem
we are running mqseries version 5.3 on aix and having problems setting
the qmgr to code page 1200 for UCS-2. We can set to 1208 but we need
to get the data converted from 1208/UTF-8 to 1200/UCS-2/Unicode/UTF-16
to solve a different issue. All the documentation says that 1200 is
supported on aix and windows but when i issue this command:
alter qmgr ccsid(1200)
1 : alter qmgr ccsid(1200)
AMQ7090: The queue manager CCSID is not valid.
I also tried 17584 or 13488 as per mention of differnent levels of
ucs-2 in newgroups. Does anyone know what the problem is. I did see a
ptf for as/400 that was related to a 1200 problem but no other
platform was listed. |
|
Back to top |
|
 |
Nigelg |
Posted: Thu Jun 15, 2006 12:04 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
1200 is UCS-2, and is indeed not valid for a qmgr CCSID.
The reason is that qmgr CCSIDs must use single byte characters for the 'core characters', i.e. the characters that are valid for WMQ object names. All characters in UCS-2 are represented by 2 bytes, so it is not a valid CCSID for the qmgr.
It is of course perfectly valid for msgs to be put with CCSID 1200; you are confusing the qmgr CCSID with the msg CCSID. _________________ MQSeries.net helps those who help themselves.. |
|
Back to top |
|
 |
zukons |
Posted: Thu Jun 15, 2006 4:39 am Post subject: |
|
|
Newbie
Joined: 14 Jun 2006 Posts: 4
|
I have read something to that affect but did not understand what it meant. So if I want mq to do a conversion from 1208/utf-8 to 1200/ucs-2/utf-16 in the queue so it the message comes out as 1200 on the target side, how do I do that? |
|
Back to top |
|
 |
dgolding |
Posted: Thu Jun 15, 2006 4:49 am Post subject: |
|
|
 Yatiri
Joined: 16 May 2001 Posts: 668 Location: Switzerland
|
|
Back to top |
|
 |
zukons |
Posted: Thu Jun 15, 2006 7:11 am Post subject: |
|
|
Newbie
Joined: 14 Jun 2006 Posts: 4
|
thanks for the reply. I saw this for as/400 and really thought 1200 was valid for qmgr.. http://www-912.ibm.com/a_dir/as4ptf.nsf/d274b8e7d37f34a786256e320076c355/3d645178f42f49ab862569bd004cacd2?OpenDocument
So I have a question about how this works. If we set the mqmd to 1200 do we leave the xml message as utf8 or do we have to encode the message with utf16? Will the normal mq get convert the data from 1208/utf8 to 1200/utf16 if we leave the message as utf8? It there a way to set the mqmd to 1208/utf8 and encode the xml as utf8 and have the partner pull the message with mqget as utf16. I thought that is what we were asking mq to do by setting qmgrs differently. |
|
Back to top |
|
 |
dgolding |
Posted: Thu Jun 15, 2006 7:23 am Post subject: |
|
|
 Yatiri
Joined: 16 May 2001 Posts: 668 Location: Switzerland
|
I'm not too sure what you mean about "leave" - it depends if you do a destructive GET or a browse. If you do a destructive GET you don't leave anything - it's gone. If you browse, the original message remains unchanged.
PUT the message as UTF-8 (as defined as the CCSID of the queue manager) - but GET it as UCS-2. MQ will do the conversion when you GET the message. |
|
Back to top |
|
 |
zukons |
Posted: Thu Jun 15, 2006 8:17 am Post subject: |
|
|
Newbie
Joined: 14 Jun 2006 Posts: 4
|
We see that get has a convert option but not sure how to specify a ccsid on the get
message from developer "to my knowledge...you can put with the ccsid in the mqmd...regardless what the ccsid is on the qmgr.....but the get on the downstream....i believe that is based off of the qmgr.....to my knowledge, the convert on the get is just an option...you dont set the ccsid.... "
Thanks in advance for you help |
|
Back to top |
|
 |
dgolding |
Posted: Thu Jun 15, 2006 8:23 am Post subject: |
|
|
 Yatiri
Joined: 16 May 2001 Posts: 668 Location: Switzerland
|
You set the ccsid in the message descriptor BEFORE you get the message (so I am reliably informed, we do gets with convert to 1200 all the time here).
It should return a converted buffer - which don't forget is probably double the original size. |
|
Back to top |
|
 |
|