Re: Character Decoding Problems
От | Barry Lind |
---|---|
Тема | Re: Character Decoding Problems |
Дата | |
Msg-id | 3F395E58.20507@xythos.com обсуждение исходный текст |
Ответ на | Character Decoding Problems (Evan Tsue <evan@windsormgmt.com>) |
Список | 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 по дате отправления: