Author |
Message
|
sara |
Posted: Tue Nov 13, 2007 6:14 am Post subject: How do I change the Coded character set ID? |
|
|
Newbie
Joined: 31 Oct 2007 Posts: 9
|
Hi,
I'm sending/reading messages encoded with ISO-8859-1, but I think that the MQ doesn't care...
I've found something called 'coded character set id' which I think is the parameter to change. But it is readonly on the queuemanager.
Does anyone know if this is the right parameter, how to change this and into what value?
Regards,
Sara |
|
Back to top |
|
 |
Vitor |
Posted: Tue Nov 13, 2007 6:22 am Post subject: Re: How do I change the Coded character set ID? |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sara wrote: |
Hi,
I'm sending/reading messages encoded with ISO-8859-1, but I think that the MQ doesn't care...  |
I think you're right. I think your application won't care either if you're using conversion
sara wrote: |
I've found something called 'coded character set id' which I think is the parameter to change. But it is readonly on the queuemanager.
|
Because it's the CCSID of the platform on which the queue manager is installed.
sara wrote: |
Does anyone know if this is the right parameter, how to change this and into what value?
|
You shouldn't want or need to. Are you using conversion and what results are you getting to make you think you need to change the CCSID? Are your messages turning up in the wrong CCSID in the receiving app and if so are you sure they're being sent in the right CCSID? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sara |
Posted: Tue Nov 13, 2007 6:42 am Post subject: |
|
|
Newbie
Joined: 31 Oct 2007 Posts: 9
|
Thanks for a quick reply!
My original message contains the word Zürich, but when it has been received by the MQ and put on the queue again (I'm reading and writing to the same queue to simulate that a lot of messages are sent) the ü is something else. So I thought that it did some kind of encoding but did not manage to do it right.
The queue manger CCID has the value 437. I've tried to find a list of what that means, but failed... |
|
Back to top |
|
 |
Vitor |
Posted: Tue Nov 13, 2007 6:50 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sara wrote: |
The queue manger CCID has the value 437. I've tried to find a list of what that means, but failed... |
It's the number of the code page - 437 is Latin 8 I think (too lazy to look it up!)
How are you sending/receiving/viewing the messages? Is that doing any kind of conversion? The queue manager will only convert message body if it's requested to and the code page of the message doesn't match the code page of the queue manager.
Look at the actual message on the queue in hex form & see if this value is changing. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Nov 13, 2007 6:54 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
437 is Windows default codepage... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Nov 13, 2007 7:07 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jefflowrey wrote: |
437 is Windows default codepage... |
I knew I'd seen it somewhere....  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sara |
Posted: Tue Nov 13, 2007 7:49 am Post subject: |
|
|
Newbie
Joined: 31 Oct 2007 Posts: 9
|
When I'm looking at the message in the MQ Explorer the message is encoded with 546 but the queuemanager has 437 as CCID... why is this? might 546 be ISO-8859-1?
The XML message looks like this
<?xml version="1.0" encoding="ISO-8859-1"?> |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Nov 13, 2007 7:52 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
MQMD.Encoding is not the same as MQMD.CodedCharSetID, and not the same thing as the XML encoding, either.
MQMD.Encoding is used for numeric values in the same way that the CCSID is used for character values.
Does your MQMD.Format = MQFMT_STRING? Did you issue GET with MQGMO_CONVERT? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Nov 13, 2007 7:53 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
That means the XML is encoded as "Latin-1" (according to Mr Google).
If the message is 546 and your queue manager is 437 then you need to make sure the conversion happens when it's presented to your applcation (and you still havn't told us how you're sending, receiving and viewing these). Make sure the MQMD format is a string, and the receiving application is doing a get with convert. Mr Google's friend Mr Wikipedia says that the u-umlaut (apologies for the spelling!) is xFC in Latin-1 and x81 in 437. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sara |
Posted: Wed Nov 14, 2007 7:54 am Post subject: |
|
|
Newbie
Joined: 31 Oct 2007 Posts: 9
|
Thank you for all your help!
I've now found the right parameter to use and it should in my case be 819.
//Sara |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Nov 14, 2007 3:32 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
sara wrote: |
Thank you for all your help!
I've now found the right parameter to use and it should in my case be 819.
//Sara |
819 is a default Unix platform CCSID (819 = ISO-8859-1)
For a little bit more information:
By default the messages get posted with the CCSID of the qmgr of they are being posted on. You can however override this by setting the CCSID (and encoding) on the message (MQMD), however the message content has to match its CCSID and encoding...
On the receiving side the default conversion (MQFMT_STRING & get with convert) will convert the message to the receiving qmgr's CCSID.
You can override this by putting the desired CCSID (1208 = utf-8 ) on the qmgr/qcf object used to connect.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Nov 14, 2007 4:58 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
fjb_saper wrote: |
By default the messages get posted with the CCSID of the qmgr of they are being posted on.... |
Except for MQ Client apps, in which case the messages get posted with the CCSID of the client's platform, by default. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Nov 15, 2007 9:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
PeterPotkay wrote: |
fjb_saper wrote: |
By default the messages get posted with the CCSID of the qmgr of they are being posted on.... |
Except for MQ Client apps, in which case the messages get posted with the CCSID of the client's platform, by default. |
Thanks Peter for straightening out that oversight.
I didn't check it but the same might appy to client gets as (IIRC) by default the CCSID on the client will be the one of the client plattform... _________________ MQ & Broker admin |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Nov 15, 2007 1:10 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
fjb_saper wrote: |
I didn't check it but the same might appy to client gets as (IIRC) by default the CCSID on the client will be the one of the client plattform... |
That is correct. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Nigelg |
Posted: Fri Nov 16, 2007 2:22 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
Izzat so? Never a day goes by that I don't learn something new... _________________ MQSeries.net helps those who help themselves.. |
|
Back to top |
|
 |
|