On Mon, 3 Nov 2003, Aleksey wrote:
> I have the following problem working with DatabaseMetaData.
>
> [ retreiving foreign key column names with KOI8-R characters fails
> when trying to decodeUTF ]
The way many DatabaseMetaData methods work is that they run a query to
retrieve the necessary data which it then iterates over, reformats, and
stores into an in memory ResultSet which is returned to the user. The in
memory ResultSet is implemented with byte arrays, so all String data has
.getBytes() called on it to turn it into a byte array. This turns it into
a byte array with the JVM's default charset which may not be the UTF-8 we
need. This is why the resulting decoding from UTF-8 is failing, because
it is not actually UTF-8 data.
The attached patch encodes the data into the format that the subsequent
decoder expects. Aleksey, could you try out this patch or the pre-built
jar file that includes it at http://www.ejurka.com/pgsql/ and confirm that
this fixes your problem?
Kris Jurka