Character Decoding Problems

Поиск
Список
Период
Сортировка
Искать
От
Evan Tsue
Тема
Character Decoding Problems
Дата
Msg-id
295FAA7E-CC87-11D7-9E82-000A95A08104@windsormgmt.com
Список
Дерево обсуждения
Re: Character Decoding Problems "zy7111" <zy7111@mail.china.com>
Re: Character Decoding Problems Evan Tsue <evan@windsormgmt.com>
Re: Character Decoding Problems Evan Tsue <evan@windsormgmt.com>
Re: Character Decoding Problems Barry Lind <blind@xythos.com>
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

В списке pgsql-jdbc по дате отправления
От: zy7111
Дата:
От: Andreas Joseph Krogh
Дата:
FAQ