Author |
Message
|
sprasad |
Posted: Mon Feb 06, 2012 1:45 pm Post subject: Decoding issue with Trademark in MQ String |
|
|
Novice
Joined: 15 Dec 2011 Posts: 24
|
Hi,
I am having an issue with decoding Trademark symbol in MQ 7.0.1.5.
Scenario:
We have recently migrated MQ environment from 6.1.0.0 to 7.0.1.5. And same applications are used to send data to the backend system TERADATA. When we send a request to TERADATA, it will pick a coupon from the database based on the request and sends the response. While sending the response it will also attach coupon data and that data has a Trademark. We did a TEST sending the exact same message through both the environment and found that the Trademark(Special Character) is decoding differently in both the environments.
In V6 is it decoding as (HEXA) EF BF BD and in V7 it is decoding as (HEXA) 1A. Not sure why.
We have Message Broker picking the request message from MQ Queue and insert into database and Message broker gets the messages by a 'SELECT' statement and deliver it to MQ. Please find the difference in the environment below:
Old Environment:
$ dspmqver
Name: WebSphere MQ
Version: 6.0.2.5
CMVC level: p600-205-080922
BuildType: IKAP - (Production)
Message Broker : V 6
$ oslevel
5.3.0.0
$ locale
LANG=en_US
LC_COLLATE="en_US"
LC_CTYPE="en_US"
LC_MONETARY="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_MESSAGES="en_US"
LC_ALL=
New Environment:(Which is having the problem)
$ dspmqver
Name: WebSphere MQ
Version: 7.0.1.5
CMVC level: p701-105-110419
BuildType: IKAP - (Production)
Message Broker: V 7
$ oslevel
6.1.0.0
$ locale
LANG=C
LC_COLLATE="C"
LC_CTYPE="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_MESSAGES="C"
LC_ALL=
Thanks in advance,
Prasad |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Feb 06, 2012 1:59 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Check the CCSID on the message and the CCSID on the qmgr.
You will find that there is a difference somewhere.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sprasad |
Posted: Mon Feb 06, 2012 2:09 pm Post subject: |
|
|
Novice
Joined: 15 Dec 2011 Posts: 24
|
fjb_saper wrote: |
Check the CCSID on the message and the CCSID on the qmgr.
You will find that there is a difference somewhere.  |
Thanks for the reply Saper. Here is the information:
Qmgr:
dis qmgr
1 : dis qmgr
AMQ8408: Display Queue Manager details.
QMNAME(UAQ6) ACCTCONO(DISABLED)
ACCTINT(1800) ACCTMQI(OFF)
ACCTQ(OFF) ACTIVREC(MSG)
ALTDATE(2011-07-27) ALTTIME(11.11.5
AUTHOREV(DISABLED) CCSID(819)
Message:
MQGET of message number 1
****Message descriptor****
StrucId : 'MD ' Version : 2
Report : 0 MsgType : 8
Expiry : -1 Feedback : 0
Encoding : 273 CodedCharSetId : 819
Thanks,
Prasad |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Feb 06, 2012 2:18 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
The value 1A looks suspiciously like a placeholder value for a char that is not available in the current CCSID...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
rekarm01 |
Posted: Mon Feb 06, 2012 6:53 pm Post subject: Re: Decoding issue with Trademark in MQ String |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
The applications don't seem to be handling the character for TRADE MARK SIGN correctly for either of the V6 or V7 environments:
sprasad wrote: |
In V6 is it decoding as (HEXA) EF BF BD |
This looks like UTF-8 encoding for the Unicode REPLACEMENT CHARACTER (U+FFFD, '�') ... "used to replace an incoming character whose value is unknown or unrepresentable in Unicode".
sprasad wrote: |
... in V7 it is decoding as (HEXA) 1A. |
And this looks like the ASCII SUBSTITUTE character, which serves a similar purpose.
The first step is to identify where the TRADE MARK SIGN does appear correctly (database? wmb? wmq?); the next step is to narrow down where it gets lost.
sprasad wrote: |
Code: |
1 : dis qmgr
AMQ8408: Display Queue Manager details.
QMNAME(UAQ6) ... CCSID(819) |
Code: |
MQGET of message number 1
****Message descriptor****
... Encoding : 273 CodedCharSetId : 819 |
|
Which environment is this for? And how does it differ from the other environment?
ccsid 819 doesn't support the TRADE MARK SIGN. If there weren't already a different issue before this point, there definitely would be one here. |
|
Back to top |
|
 |
sprasad |
Posted: Tue Feb 07, 2012 6:51 am Post subject: Re: Decoding issue with Trademark in MQ String |
|
|
Novice
Joined: 15 Dec 2011 Posts: 24
|
Thanks for the response rekarm01.
rekarm01 wrote: |
The applications don't seem to be handling the character for TRADE MARK SIGN correctly for either of the V6 or V7 environments:
sprasad wrote: |
In V6 is it decoding as (HEXA) EF BF BD |
This looks like UTF-8 encoding for the Unicode REPLACEMENT CHARACTER (U+FFFD, '�') ... "used to replace an incoming character whose value is unknown or unrepresentable in Unicode".
sprasad wrote: |
... in V7 it is decoding as (HEXA) 1A. |
And this looks like the ASCII SUBSTITUTE character, which serves a similar purpose.
The first step is to identify where the TRADE MARK SIGN does appear correctly (database? wmb? wmq?); the next step is to narrow down where it gets lost.
Database. We are able to see the Trademark (Circled R) in the database. The first step after database is MB, then MQ.
sprasad wrote: |
Code: |
1 : dis qmgr
AMQ8408: Display Queue Manager details.
QMNAME(UAQ6) ... CCSID(819) |
Code: |
MQGET of message number 1
****Message descriptor****
... Encoding : 273 CodedCharSetId : 819 |
|
Which environment is this for? And how does it differ from the other environment?
This information is for MQ Version 7. The difference between the environments are OSLevels, MQ version and Message Broker Version.
ccsid 819 doesn't support the TRADE MARK SIGN. If there weren't already a different issue before this point, there definitely would be one here. |
Where can I check if CCSID 819 does support Trademark or not. Do we have a table to represent that?
We were having the trademark in old environment and it was working fine. Only when we are using the same message in new environment, we are having issues. |
|
Back to top |
|
 |
sprasad |
Posted: Tue Feb 07, 2012 6:55 am Post subject: |
|
|
Novice
Joined: 15 Dec 2011 Posts: 24
|
fjb_saper wrote: |
The value 1A looks suspiciously like a placeholder value for a char that is not available in the current CCSID... :innocent: |
Thanks for the reply.
1A is hexa representation of 28. And the receiving application doesn't understand Hexa values less than 30. So we are having issues. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Feb 07, 2012 6:55 am Post subject: Re: Decoding issue with Trademark in MQ String |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
sprasad wrote: |
We were having the trademark in old environment and it was working fine. Only when we are using the same message in new environment, we are having issues. |
This is why we are asking you to compare the CCSID on the OLD system to the CCSID on the NEW system.
Yes, the internet should easily be able to provide you with a list of characters and their corrresponding byte values in codepage 819. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Feb 07, 2012 6:59 am Post subject: Re: Decoding issue with Trademark in MQ String |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sprasad wrote: |
Where can I check if CCSID 819 does support Trademark or not. Do we have a table to represent that? |
Ask Mr Google - the Internet is full of them.
sprasad wrote: |
We were having the trademark in old environment and it was working fine. Only when we are using the same message in new environment, we are having issues. |
Note that what you posted was the amqsbcg showing the CCSID of the message; you were asked about the CCSID of the queue managers.
Note also some tools overload ASCII symbols to display graphics (like the trademark). _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sprasad |
Posted: Tue Feb 07, 2012 7:00 am Post subject: Re: Decoding issue with Trademark in MQ String |
|
|
Novice
Joined: 15 Dec 2011 Posts: 24
|
mqjeff wrote: |
sprasad wrote: |
We were having the trademark in old environment and it was working fine. Only when we are using the same message in new environment, we are having issues. |
This is why we are asking you to compare the CCSID on the OLD system to the CCSID on the NEW system.
I did check the CCSID of old and new qmgrs and they are 819.
Yes, the internet should easily be able to provide you with a list of characters and their corrresponding byte values in codepage 819. |
Sure will search and get the list of characters supported by CCSID 819. But as I told you we are having issues only with V7 but not with V6. They both have the same CCSID 819. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Feb 07, 2012 7:07 am Post subject: Re: Decoding issue with Trademark in MQ String |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sprasad wrote: |
They both have the same CCSID 819. |
You have not demontrated this. Nor have you demonstrated that both environments traverse the same route & perform the same conversions.
As evidenced by the number of posts on this form regarding CCSID it's a tricky subject. You need to identify the point in the processing at which the byte value changes to a placeholder. Do not rely on being able to see it or not. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|