Author |
Message
|
wbiuid |
Posted: Thu Jun 16, 2005 5:27 am Post subject: CCSID Conversion between ASCII and EBCDIC |
|
|
Apprentice
Joined: 14 Jun 2005 Posts: 34
|
Hi,
We are sending a simple string of data from AIX with a CCSID of 819 -
'ABCD£$'
When this data arrives on z/OS (with queue manager CCSID of 500) and the application (using MQGMO_CONVERT) converts the data is results in -
'ABCD[£'
I.e. the £ is converted to [ and $ is converted to pound. How can a conversion between ASCII 819 and EBCDIC 500 do this? Both CCSID's are multilingual according to the manuals?
For information, we do net set a specific CCSID in the MsgDesc of the MQGET call - I assume this uses the local queue nanager CCSID (in this case 500) to convert to?
Many thanks
Richard |
|
Back to top |
|
 |
zpat |
Posted: Thu Jun 16, 2005 5:50 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
|
Back to top |
|
 |
wbiuid |
Posted: Thu Jun 16, 2005 7:37 am Post subject: |
|
|
Apprentice
Joined: 14 Jun 2005 Posts: 34
|
Aopologies for the duplicate post.
So if I understand correctly, a mainframe CCSID of 285 will convert it correctly? Given the mainframe CCSID has been fixed to 500 for a long period, are we safer to do the convert to 285 CCSID in the application buy specifying 285 in the MsgDesc option on the MQGet? Are there any other alternatives?
Thanks. |
|
Back to top |
|
 |
zpat |
Posted: Thu Jun 16, 2005 8:06 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
I can't give you guarentees. That's 100% your risk, to test in a suitable manner at an appropriate time on a testing system.
We have about 10 mainframes with MQ, they all use CCSID 285 (and have for years) except a couple of new LPARs which had CCSID 500.
We experienced XML message conversion issues on the new ones - changed them to use 285 and the problem went away.
I assume you have a testing mainframe - perhaps change it there first and see what happens. It doesn't take long to switch back.
Or create a second queue manager on the same mainframe and use 285 with that while you test everything. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jun 16, 2005 2:12 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I've seen the same kind of odd problem with a little different twist.
Sending qmgr = Unix (819)
Receiving qmgr = MF (500)
Problems on receiving app "!" gets displayed as "|" (Exclamation mark displayed as Pipe)
Answer == receiving system = ccsid 37 (MF) but the qmgr is (500)...
Enjoy  |
|
Back to top |
|
 |
wbiuid |
Posted: Thu Jun 16, 2005 11:21 pm Post subject: |
|
|
Apprentice
Joined: 14 Jun 2005 Posts: 34
|
Thanks both for the replies....
fjb_saper...
Can you clarify your last sentene re. the solution? You left the QMgr CCSID as 500? What do you mean by receving system CCSID = 37 - did you change the character of the application?
Many thanks. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jun 17, 2005 10:22 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
No we are living with it.
The reason we were getting the transposition is
MF is ccsid 37
QMGR is ccsid 500
The qmgr translates correctly from CCSID 819 to CCSID 500. (get with convert..., channel exit etc...)
The problem seems to be on the receiving side. The application retrieves the message from MQ and gets it with CCSID 500 but handles the message like if it were in CCSID 37....
Enjoy  |
|
Back to top |
|
 |
|