Author |
Message
|
tenacious |
Posted: Fri Jan 21, 2005 9:11 am Post subject: unwanted DBCS conversion |
|
|
Newbie
Joined: 21 Jan 2005 Posts: 6
|
new to the MQ technologies
I'm investigating a problem in an existing application where DBCS data is being converted and we don't want that to happen.
setup:
MQI 2.1 on Windows NT
connecting to DB2 on AIX boxes that are UTF-8
our connection to these systems is UTF-8
The the path being used in the flow contains:
MessageIn
AddRFH2 header with codedcharsetid=1208 and encoding = 546
filter
extract data that contains passthrough SQL
message out
The data in the database is:
E6958FE6809DE8BEBEE585ACE58FB8
When we look at the mesage on the queue using MQTOOL we see:
E6 1A 8F E6 1A 9D E8 BE BE E5 1A AC E5 8F B8 3C
Any pointers on why this is happening and what we can do to prevent it would be appreciated. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jan 21, 2005 9:25 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Whenever you have a problem with data that doesn't look like it is "supposed to", and you need help..
You need to show us what the data is supposed to look like. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
tenacious |
Posted: Fri Jan 21, 2005 9:28 am Post subject: |
|
|
Newbie
Joined: 21 Jan 2005 Posts: 6
|
Sorry I wasn't clear in my post.
The data should be
E6958FE6809DE8BEBEE585ACE58FB8 |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jan 21, 2005 9:34 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
So, what you're saying is, when you look at the binary representation of double-byte Unicode characters, then you see two bytes being used to represent each character? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
tenacious |
Posted: Fri Jan 21, 2005 11:16 am Post subject: |
|
|
Newbie
Joined: 21 Jan 2005 Posts: 6
|
We're seeing values changed to hex 1A.
source data
E6 95 8F E6 80 9D E8 BE BE E5 85 AC E5 8F B8
changed to
E6 1A 8F E6 1A 9D E8 BE BE E5 1A AC E5 8F B8 |
|
Back to top |
|
 |
kirani |
Posted: Sun Jan 23, 2005 2:56 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Have you used amqsbcg command/utility, instead of MQTool to make sure the hex values are same? _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
tenacious |
Posted: Thu Jan 27, 2005 10:50 am Post subject: |
|
|
Newbie
Joined: 21 Jan 2005 Posts: 6
|
Interesting... amqsbcg has different results
000001C0: 4E41 4D45 3EC3 A6E2 80A2 C28F C3A6 E282 'NAME>+ªGÇó-.+ªGé'
000001D0: ACC2 9DC3 A8C2 BEC2 BEC3 A5E2 80A6 C2AC '¼-.+¿-+-++ÑGǪ-¼'
000001E0: C3A5 C28F C2B8 3C2F 5452 4144 455F 5354 '+Ñ-.-+</TRADE_ST' |
|
Back to top |
|
 |
tenacious |
Posted: Tue Feb 08, 2005 11:52 am Post subject: |
|
|
Newbie
Joined: 21 Jan 2005 Posts: 6
|
fyi the solution:javascript:emoticon(' ')
javascript:emoticon(' ')
the machine performing the select was not in the same codepage(1208) as the database. So the data is converted into the local codepage, ie the broker machine's code page.
to resolve the problem we had to do 2 things
1. in the select we pulled the data as hex
select
hex( field_a) as xxxx
from ......
2. when putting the data in the OutputDestinationList we do the following:
SET OutputDestinationList.XML.MessageData[1].xxxx =
CAST(CAST(OutputDestinationList.XML.MessageData[1].xxxx as BLOB) AS CHARACTER CCSID 1208); |
|
Back to top |
|
 |
GaryGWood |
Posted: Mon Mar 07, 2005 6:16 am Post subject: |
|
|
Apprentice
Joined: 14 Oct 2003 Posts: 48 Location: Austin, TX
|
tenacious, that is exactly what IBM support recommended for me to do. However, the text string remains in hex format rather than converting back to ascii characters. Any idea what I've got going on that causes that? |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Mar 07, 2005 6:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Who is this person at IBM that keeps saying "OutputDestinationList" or "InputDestinationList"?
What is this qualifier, other than an obsolete name for LocalEnvironment? And why is someone at IBM still using it? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|