ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Error converting iSeries ccsid to windows

Post new topic  Reply to topic
 Error converting iSeries ccsid to windows « View previous topic :: View next topic » 
Author Message
Gama
PostPosted: Tue Aug 28, 2007 6:48 am    Post subject: Error converting iSeries ccsid to windows Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Tue Aug 28, 2007 6:58 am    Post subject: Re: Error converting iSeries ccsid to windows Reply with quote

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
View user's profile Send private message
Gama
PostPosted: Tue Aug 28, 2007 7:33 am    Post subject: Re: Error converting iSeries ccsid to windows Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Tue Aug 28, 2007 7:40 am    Post subject: Re: Error converting iSeries ccsid to windows Reply with quote

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
View user's profile Send private message
Gama
PostPosted: Tue Aug 28, 2007 9:09 am    Post subject: Re: Error converting iSeries ccsid to windows Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Tue Aug 28, 2007 1:01 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Gama
PostPosted: Wed Aug 29, 2007 12:17 am    Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Wed Aug 29, 2007 3:02 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Gama
PostPosted: Thu Aug 30, 2007 3:05 am    Post subject: Reply with quote

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
View user's profile Send private message
Gama
PostPosted: Mon Sep 03, 2007 6:50 am    Post subject: Reply with quote

Centurion

Joined: 11 Jan 2005
Posts: 103
Location: Portugal

Hello again,

Any help is welcome.

Thanks
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Sep 03, 2007 11:33 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Gama
PostPosted: Tue Sep 04, 2007 6:20 am    Post subject: Reply with quote

Centurion

Joined: 11 Jan 2005
Posts: 103
Location: Portugal

Thanks fjb_saper and Vitor a lot for your support.

I already find the "problem", exist an APAR created for this problem.

- IC49793 -

http://www.ibm.com/support/docview.wss?rs=849&context=SSKM8N&dc=DB550&uid=swg1IC49793&loc=en_US&cs=UTF-8&lang=en&rss=ct849websphere

Thanks a lot,

Gama
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Error converting iSeries ccsid to windows
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.