Lew, 22.11.2010 14:14:
>> 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.
select pg_encoding_to_char(encoding) from pg_database returns UTF8 (for all databases)
I verified that my Java code was compiled using UTF-8 as well, to be sure nothing was lost there.
The problem also shows up when using a JDBC based query tool.
Btw: the same happens with pgAdmin as well.
The above created table will be displayed with an "empty" Name in the pgAdmin tree
Regards
Thomas