Re: getTables() doesn't handle umlauts correctly - Mailing list pgsql-jdbc

From Lew
Subject Re: getTables() doesn't handle umlauts correctly
Date
Msg-id icdqc3$v7n$1@news.albasani.net
Whole thread Raw
In response to getTables() doesn't handle umlauts correctly  (Thomas Kellerer <spam_eater@gmx.net>)
Responses Re: getTables() doesn't handle umlauts correctly  (Thomas Kellerer <spam_eater@gmx.net>)
List pgsql-jdbc
Thomas Kellerer wrote:
> I noticed that the driver will return incorrect values for table names
> that contain umlauts. Consider the following code:
>
> Class.forName("org.postgresql.Driver");

You only need to load the class once.

> con =
> DriverManager.getConnection("jdbc:postgresql://localhost/postgres",
> "postgres", "password");
> stmt = con.createStatement();
> stmt.executeUpdate("create table public.umlaut_test_ö (id integer)");
> rs = con.getMetaData().getTables(null, "public", "umlaut_test%", null);
> while (rs.next())
> {
>    System.out.println(rs.getString("TABLE_NAME"));
> }
>
> It will not display the table name correctly.
>
> Now on the console this might be an encoding problem of the client, but
> the name is also not displayed correctly, when e.g. using a Swing JLabel
> component which is fully UTF-8 compatible.
>
> Is there a connection parameter for the driver to return that correctly
> or is this a driver bug?
>
> I'm using the 9.0-801 driver with a 9.0.1 database running on Windows XP

Sounds like your database character encoding doesn't match up.

--
Lew

pgsql-jdbc by date:

Previous
From: Radosław Smogura
Date:
Subject: TypeInfoCache.getPGArrayElement - determine if array
Next
From: Thomas Kellerer
Date:
Subject: Re: getTables() doesn't handle umlauts correctly