Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-jdbc by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group