Re: [JDBC] Using Postgres with Latin1 (ISO8859-1) - Mailing list pgsql-general

From Oliver Jowett
Subject Re: [JDBC] Using Postgres with Latin1 (ISO8859-1)
Date
Msg-id 418FEB6B.3000700@opencloud.com
Whole thread Raw
In response to Re: [JDBC] Using Postgres with Latin1 (ISO8859-1)  ("J. Michael Crawford" <jmichael@gwi.net>)
Responses Re: [JDBC] Using Postgres with Latin1 (ISO8859-1)
List pgsql-general
J. Michael Crawford wrote:

> Encoding translations that didn't work:
>
> a) Getting encoded bytes from the result set.  We tried the following
> block five times, once for each different encoding we were trying to
> test with the database:

> b)  Getting a string, turning it bytes, and then translating.  Same
> process as above, but we use result.getString...

>   No matter  what, strings showed up as gibberish in one JVM or another,
> depending upon the native encoding of the database.  A Latin1 database
> worked in the windows JVM, a Unicode in the Linux JVM, but not the other
> way around.

The "right way" is to just use getString() and not do any translation
yourself. The driver has already done the transcoding from whatever the
DB encoding is, to the internal UTF-16 string representation. You don't
need to mess with byte-based representations.

When you then display that string, you will need to use an appropriate
encoding, obviously..

Can you provide a self-contained testcase that demonstrates getString()
doing the wrong thing?

-O

pgsql-general by date:

Previous
From: Mike Cox
Date:
Subject: Re: Postresql RFD version 2.0 Help Wanted.
Next
From: Andrew - Supernews
Date:
Subject: Re: RFD: comp.databases.postgresql.general