|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Convertion problem with Special Character $(EBCDIC to ASCII) |
« View previous topic :: View next topic » |
Author |
Message
|
pandug |
Posted: Thu Feb 18, 2010 4:31 am Post subject: Convertion problem with Special Character $(EBCDIC to ASCII) |
|
|
Newbie
Joined: 18 Feb 2010 Posts: 4
|
Hi
Incoming COBOL message has one field whose value will be like US $.
Mainframe will send these messages to Broker, broker has to convert it and will later insert into database.
But we found that US $ is inserted as US ¢ into database.
We are using 437 CCSID and 273 as encoding in ESQL code.
For the COBOL message, CCSID is set as 285 in MQMD tab and 37 in RFH tab.(This info I got from RFHUtil)
Change has to be done in Broker to make US $ to insert into DB as it is.
Your answers would be helpful.. |
|
Back to top |
|
 |
Vitor |
Posted: Thu Feb 18, 2010 5:09 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
There has been a number of discussions on code pages in this forum you might want to review.
Questions to think about:
- Does the DB code page have a dollar symbol?
- Why did someone invent 3 character codes for national currencies?
- Why are you specifically referencing CCSID in broker ESQL rather than using the inbuilt facilities? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
rekarm01 |
Posted: Sun Feb 21, 2010 1:47 am Post subject: Re: Convertion problem with Special Character $(EBCDIC to AS |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
pandug wrote: |
Incoming COBOL message has one field whose value will be like US $.
But we found that US $ is inserted as US ¢ into database.
For the COBOL message, CCSID is set as 285 in MQMD tab and 37 in RFH tab. (This info I got from RFHUtil) |
RFHUtil also displays the bytes that make up the message data. It's impossible to tell whether the given message header ccsids are correct, without comparing them to the message data. If the headers don't match the data, that's probably corrupting other characters, too. For example:
Code: |
ccsid ccsid
byte 037 285
---- ----- -----
4A ¢ $
5B $ £
A1 ~ ¯
B0 ^ ¢
B1 £ [
BA [ ^
BC ¯ ~ |
The sender must provide good message headers; the receiver can't fix that.
pandug wrote: |
We are using 437 CCSID and 273 as encoding in ESQL code. |
ccsid=437 is probably not the best fit here. It contains many non-ASCII characters that ccsid=285 and ccsid=37 do not, (and vice versa), any of which will cause conversion errors. ccsid=819 would be a much better fit.
However, if the broker is inserting ESQL CHARACTERs into the database, any required conversions take place between ODBC and the database; ESQL conversion would be unnecessary. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|