Author |
Message
|
Gama |
Posted: Tue Aug 28, 2007 6:48 am Post subject: Error converting iSeries ccsid to windows |
|
|
 Centurion
Joined: 11 Jan 2005 Posts: 103 Location: Portugal
|
Hello all,
I have
I'm using the WMB6003 with MQ6 for get data from iSeries, and get the follow error, for example when exist a character like (áéã€).
I think is related with the MQPut CCSID, i already tested some (1089,1140,1208,1250,1252,813,819,850,850,858,860,912,915,916,920,920,697) and the error is remained 'Unconvertable character'.
My iSeries Sys Val configuration:
QCCSID = 65535
QCHRID = 697 / 37
Trace file
ExceptionList
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\CommonServices\ImbConverter.cpp'
(0x03000000):Line = 516
(0x03000000):Function = 'ImbConverterCPP::internalToUnicode'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2135
(0x03000000):Text = 'Unconvertable character'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'a4'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '61a47e20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1208'
)
)
Any help is comming wel.
Thanks,
Gama |
|
Back to top |
|
 |
Vitor |
Posted: Tue Aug 28, 2007 6:58 am Post subject: Re: Error converting iSeries ccsid to windows |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Gama wrote: |
I think is related with the MQPut CCSID |
I think you're right. Can you confirm you have conversion tables installed at an operating system level for the problem code sets to Unicode? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Gama |
Posted: Tue Aug 28, 2007 7:33 am Post subject: Re: Error converting iSeries ccsid to windows |
|
|
 Centurion
Joined: 11 Jan 2005 Posts: 103 Location: Portugal
|
Vitor wrote: |
Gama wrote: |
I think is related with the MQPut CCSID |
I think you're right. Can you confirm you have conversion tables installed at an operating system level for the problem code sets to Unicode? |
Can you tell me how can i verify that?
On Windows or iSeries?
Thanks, |
|
Back to top |
|
 |
Vitor |
Posted: Tue Aug 28, 2007 7:40 am Post subject: Re: Error converting iSeries ccsid to windows |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Gama wrote: |
Can you tell me how can i verify that?
On Windows or iSeries?
|
Ask the machine admin is probably the best way.
On Windoze you can check the language support; there's also a registry key I think - anyone?
On iSeries I've no clue, never used it. This advice is based on similar issues on Unix boxes you see. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Gama |
Posted: Tue Aug 28, 2007 9:09 am Post subject: Re: Error converting iSeries ccsid to windows |
|
|
 Centurion
Joined: 11 Jan 2005 Posts: 103 Location: Portugal
|
Vitor wrote: |
Gama wrote: |
Can you tell me how can i verify that?
On Windows or iSeries?
|
Ask the machine admin is probably the best way.
On Windoze you can check the language support; there's also a registry key I think - anyone?
On iSeries I've no clue, never used it. This advice is based on similar issues on Unix boxes you see. |
On windows has language support configured for 1140 (EBCDIC - EUA/Canada + Euro) and on iSeries Box don´t have.
Any more suggestions»?
Thanks |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Aug 28, 2007 1:01 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You need to use UTF-8 in the windows / unix env and probably something like 500 or 37 on Iseries.
What you seem to have is a special character that is only mapped in some of the locales and that probably is a multibyte char in UTF-8
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Gama |
Posted: Wed Aug 29, 2007 12:17 am Post subject: |
|
|
 Centurion
Joined: 11 Jan 2005 Posts: 103 Location: Portugal
|
fjb_saper wrote: |
You need to use UTF-8 in the windows / unix env and probably something like 500 or 37 on Iseries.
What you seem to have is a special character that is only mapped in some of the locales and that probably is a multibyte char in UTF-8
Enjoy  |
When i put the message on queue with rfhutil on mqmd header i use the 850 (UTF- and on iSeries the ccsid is 37
Is necessary include the RFH2 header?
Thanks. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 29, 2007 3:02 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Gama wrote: |
fjb_saper wrote: |
You need to use UTF-8 in the windows / unix env and probably something like 500 or 37 on Iseries.
What you seem to have is a special character that is only mapped in some of the locales and that probably is a multibyte char in UTF-8
Enjoy  |
When i put the message on queue with rfhutil on mqmd header i use the 850 (UTF- and on iSeries the ccsid is 37
Is necessary include the RFH2 header?
Thanks. |
No you don't need the RFH header. I don't think CCSID 850 (european enhanced) is the same as 1208 (UTF-8 )
Make sure the content of the message is in UTF-8 and set the CCSID on the message.
RFHUTIL will not display the message correctly if it is in UTF-8 and your platform is not... You'd have to look at the hex values... I use a JMS utility that browses the text message and displays it's content...
Works wonders when in doubt.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Gama |
Posted: Thu Aug 30, 2007 3:05 am Post subject: |
|
|
 Centurion
Joined: 11 Jan 2005 Posts: 103 Location: Portugal
|
Quote: |
No you don't need the RFH header. I don't think CCSID 850 (european enhanced) is the same as 1208 (UTF-8 )
|
Even if i change the ccsid to 1208, the same error is returned
MQput header
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'TESTE_IN'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Format = 'MQSTR '
.
.
Thans  |
|
Back to top |
|
 |
Gama |
Posted: Mon Sep 03, 2007 6:50 am Post subject: |
|
|
 Centurion
Joined: 11 Jan 2005 Posts: 103 Location: Portugal
|
Hello again,
Any help is welcome.
Thanks |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Sep 03, 2007 11:33 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Remember that 500 or 37 are a 1 byte CCSID.
If you come from a multibyte CCSID (1208) but use a COBOL copy book to parse the 1208 bitstream you will run into problems.
You need to convert first to CCSID 37 or 500 and use the messageset generated by the copy book to parse second...
Most cases I found was that my copybook was shifted by some chars due to the multibyte chars... Once I translated to CCSID 500 before parsing with the copybook everything was fine again...
We were receiving the message and saving it as a blob into a UTF-8 DB.
Then we were retrieving the message from the DB and sending to the broker for parsing... This is where we had the problem... Once we made sure we parsed from CCSID 500 our problems went away...
To retrieve the message in utf-8 from the Windows platform you will need to set CCSID 1208 on the qmgr object or on the qcf... and do a get with convert...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Gama |
Posted: Tue Sep 04, 2007 6:20 am Post subject: |
|
|
 Centurion
Joined: 11 Jan 2005 Posts: 103 Location: Portugal
|
|
Back to top |
|
 |
|