Re: Character Decoding Problems - Mailing list pgsql-jdbc

From Barry Lind
Subject Re: Character Decoding Problems
Date
Msg-id 3F395E58.20507@xythos.com
Whole thread Raw
In response to Character Decoding Problems  (Evan Tsue <evan@windsormgmt.com>)
List pgsql-jdbc
Evan,

Can you provide a test case to demonstrate your problem.  Many people
are using the driver sucessfully with non-english characters.  So I
don't think the problem is as you describe it.

thanks,
--Barry

Evan Tsue wrote:
> 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: Chris Holmes
Date:
Subject: charSet with Jdbc3PoolingDataSource
Next
From: Barry Lind
Date:
Subject: Re: Timestamp out of range Exception with jdbc-driver from