Re: Character Decoding Problems
От | |
---|---|
Тема | Re: Character Decoding Problems |
Дата | |
Msg-id | 002901c360ce$1963b480$2237953d@zhanyi обсуждение исходный текст |
Ответ на | Character Decoding Problems (Evan Tsue <evan@windsormgmt.com>) |
Ответы |
Re: Character Decoding Problems
|
Список | 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 по дате отправления: