Author |
Message
|
ayanc |
Posted: Wed Sep 10, 2008 6:27 am Post subject: Adapter CharacterEncoding issue |
|
|
Voyager
Joined: 15 Nov 2004 Posts: 88
|
Hi All,
I am connecting peoplesoft (PSFT 8 ) applications to backend database (Oracle 10G). Native language characters (German / Spanish etc) are being sent by PSFT system and it has to be inserted into the database tables.
The following is an example of what is happening:
using the ñ for example displays as a box icon so instead of Martiñez, it appears as Marti?ez.
I have my CCSID & Encoding passed from InputRoot.Properties without any hard coding and so believe that MB (6.0 CSD 07) or MQ (6.0.2.2) may not be converting anything.
The only ones left are WBIA Adapters for PSFT (3.1) and JDBC (2.6 IF8). I checked the CharacterEncoding field and it was set to ascii 7. In addition the dropdown has many other options, but frankly i have no idea what they mean.
Any thoughts? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Sep 10, 2008 1:31 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you tried using UTF-8 all throughout your environment. 10g should have no problems with UTF-8.... (CCSID 1208 ) Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
ayanc |
Posted: Wed Sep 10, 2008 4:15 pm Post subject: |
|
|
Voyager
Joined: 15 Nov 2004 Posts: 88
|
some updates:
the target system (Oracle) is already in UTF-8. Source system (PSFT) is in Western European WE8ISO8859P1 format.
I would not like to hardcode any CCSID in the broker, instead pass the same CCSID from input to output. One more update is that the broker is deployed in Linux. I guess the CCSID would be 819. I saw a post that asks setting CCSID in a local environment variable in the broker but admin would not allow us to do that to the entire environment.
some tests are passing fine ... but i noticed that the adapter representation of the data is different. Broker representation was correct. The following example explains more:
Adapter - PSFT & JDBC representation (obtained from trace file)
Martiñes
Broker and Target Database Representation (queue and table data)
Martiñes
Now I am not sure if I need to be concerned with these differences, but for some cases they are not working. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Sep 10, 2008 7:59 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
OK so what you get from the broker is correct. From there on and to the DB make it UTF-8. Part of your problem is that the broker is on a platform with a single byte char set (819) that does not support the translation of some multibyte chars hence the "?" replacing those chars.
If you're not happy with this you need to ensure that the message content hits the DB in UTF-8 (ccsid 1208 ) format.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
ayanc |
Posted: Thu Sep 11, 2008 7:15 am Post subject: |
|
|
Voyager
Joined: 15 Nov 2004 Posts: 88
|
i am not sure what you imply by this statement
Quote: |
you need to ensure that the message content hits the DB in UTF-8 (ccsid 1208 ) format.
|
are you asking me to CAST the entire message to 1208 and then send to JDBC adapter?
Well I was doing that originally, and the message failed with a ParserException stating that the message cannot be converted. In addition the adapter also failed when i manually posted it using 1208.
That is the reason why I passed on the CCSID from Properties tree and there are no failures. |
|
Back to top |
|
 |
|