Re: getTables() doesn't handle umlauts correctly

From: Lew <noone(at)lewscanon(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: getTables() doesn't handle umlauts correctly
Date: 2010-11-22 13:14:42
Message-ID: icdqc3$v7n$1@news.albasani.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Thomas Kellerer 2010-11-22 13:50:38 Re: getTables() doesn't handle umlauts correctly
Previous Message Radosław Smogura 2010-11-22 09:45:43 TypeInfoCache.getPGArrayElement - determine if array