Re: Character Decoding Problems - Mailing list pgsql-jdbc

From
Subject Re: Character Decoding Problems
Date
Msg-id 002901c360ce$1963b480$2237953d@zhanyi
Whole thread Raw
In response to Character Decoding Problems  (Evan Tsue <evan@windsormgmt.com>)
Responses Re: Character Decoding Problems
List pgsql-jdbc
I can insert and retrieve chinese into postgresql 7.2.2 successfully.  Both operation through JDBC. 
It seems you insert text using psql and retrieve using JDBC. 

----- Original Message ----- 
From: "Evan Tsue" <evan@windsormgmt.com>
To: <pgsql-jdbc@postgresql.org>
Sent: Tuesday, August 12, 2003 1:38 PM
Subject: [JDBC] Character Decoding Problems


> Hi,
> 
> I've been having problems decoding non-Latin characters using the 
> Postgres JDBC driver.  Here's the situation:  I'm using postgres 7.3.2 
> and I've created a test database using 'createdb -E UNICODE testdb' to 
> ensure that I really am using the UNICODE character set.  Using psql, I 
> created a table using the following command: 'CREATE TABLE messages 
> (message_uid SERIAL PRIMARY KEY, message_text VARCHAR(255))' to test 
> character encoding and decoding.  At that point, I inserted a message 
> that was in English.  I also inserted a message that was in Arabic.  I 
> did a select on that table using psql and the values came back 
> perfectly (I'm using MacOS X, so the characters are displayed 
> correctly).
> Next, I did a select on the same table via JDBC.  All I had the 
> program do was select on the table and print the results out to 
> standard output.  The message in English was displayed perfectly.  
> However, the message that was in Arabic was displayed as a series of 
> question marks and spaces.
> I eventually navigated my way through the JDBC driver source to find 
> that the problem is in the decodeUTF8 method in the 
> org.postgresql.core.Encoding class.  Apparently, it doesn't seem to be 
> working properly for non-Western characters.  I replaced the call to 
> that method with a call to the java.lang.String constructor and now 
> everything works perfectly.
> In addition to Arabic, I took a random sample of Chinese, Japanese, 
> Russian and Korean text and inserted it into the database.  Using the 
> original driver, I get the question marks.  But, when I used the String 
> constructor, everything comes out fine.
> Could someone please either fix the Encoding.decodeUTF8 method or 
> replace the call to that with a call to the String constructor?
> 
> Thanks,
> Evan
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
> 

pgsql-jdbc by date:

Previous
From: Andreas Joseph Krogh
Date:
Subject: Timestamp out of range Exception with jdbc-driver from 7.4-beta1
Next
From: "srikanth nagaraju"
Date:
Subject: FW: FW: pgsql - query