on 07-28-2011 10:26 AM
Hi Experts,
I need some insights for the character encoding.
The legacy system is sending nordic characters ( öä) in a fixed length flat to PI. We are using JMS adapter to receive the data.
The character set of Legacy system is
WE8MSWIN1252.
we have some outbound interfaces also with the same legacy system.
In receiver JMS communication channel I have used
CCSID = 1252
under module ( AF_Modules/MessageTransformationBean)
Transform.ContentType = text/xml;charset = UTF-8
With this setting Legacy system is able to view the nordic characters .
But for the inbound interfaces it is not working .
I have used following CCSID's
00819
1208
1252
used TextCodepageConversionBean but unsuccesfull.
We are getting junk characters in place of nordic when we see in comm channel monitoring, MONI or in IDoc.
Can anyone tell why its not working,
Regards
Biplab Das
Edited by: biplab das on Jul 28, 2011 2:57 PM
Don't use TextCodepageConversionBean , that won't help.
Are you sure, that the sender provides correct data?
Dump the incoming message into a file and check with a hex editor.
The CCSID should be 1252
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ok let me explain.
the end to end flow is
Legacy system (oracle DB) -> MQ->PI->SAP
i have asked the MQ guys to hold the message in MQ and they did it and saved the text file as default encoding type (ANSI).
then i used a file adapter to pick the file from local server. it was not working with all combination i used.
Then i opend the file and changed the encoding to UTF-8 while saving. Then it worked.
But i can understand this is not a proper testing as i will get the data from Legacy system with char set WE8MSWIN1252.
What i am not getting here is outbound one worked... why the inbound not working.
Stefan - what u suggest?
Regards
Biplab
I wonder if the file in MQ has the correct encoding.
It is just a test file, so it might have wrong characters.
When the file has encoding 1252, you can use encoding cp1252 or iso-8859-1 in file adapter.
But you have to verify with a hex editor. Just to "see" the characters corectly does not mean that they are correct.
I agree with Stefan. The MQ might not be using the correct encoding on their queue.
Please ask your MQ team to check the 'MQMD.Format' for the queue from where PI is picking the message.
If possible, stop the sender channel in PI and ask your MQ team to retrieve the message from queue and verify the data.
Edited by: nagarjuna _s on Aug 12, 2011 2:23 PM
> I have just noticed, only English and German language are installed into it ( t code SMLT).
>
> could this be the reason, ?
No, definitely not.
But I really have no idea why this does not work for you.
The cp1252 code page is the most common codepage in the world.
It is Windows latin code page.
i have searched almost all related thread in sdn for this issue, seems like nobody has a straight forward solution.
Some has used custom module and some has used java mapping to achieve this.
But i have more than 10 interfaces and donot have timeline to implement any of the above.
Edited by: biplab das on Sep 4, 2011 1:10 PM
Please validate following:
- the characters in database (are they real cp1252)
- the characters in MQ: use a tool to download data from queue
- the characters in PI without any conversion
validate the date with a hex editor see if the hex values of the characters are correct according to code page
It is useless to use Notepad, Word or other plain text editors to validate the characters.
You find free hex editors and code page charts in internet.
Hi Stefan and all,
We have not found any concrete solution for this in PI.
We have used workarounds
MQ guys change their configuration and reading the message as Jms/text instead Jms/byte and they set the encoding as 1252.So now Pi can easily read the messages with european characters or any special characters in it.
Thanks all for your time.
Regards
Biplab Das
Give a try with unix script for converting.
Regards
Pothana
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
80 | |
9 | |
9 | |
7 | |
7 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.