JDBC Probleme mit Zeichensatz

Hallo,

ich greife über JDBC auf unsere Postgres-Datenbank (7.4.2 auf Solaris 9) zu.
Der Zeichensatz der Datenbank ist SQL_ASCII.

            Statement stmt = conn.createStatement();
            ResultSet orSet = stmt.executeQuery("select name from kunde order by 1;");
            
            while (orSet.next())
                System.out.println(orSet.getString("name"));
            stmt.close();
            orSet.close();

Bei der Ausgabe werden Umlaute entweder als | oder ? angezeigt.
Kann mir jemand sagen welche Einstellung notwendig ist, um eine korrekte Ausgabe zu bekommen?

hi,

bei postgresql.org hab ich folgendes gefunden:

You should not use a SQL_ASCII database. The JDBC driver requires you
database to use a proper encoding for your data. The ?charSet url
parameter was designed to work around this problem for <= 7.2 servers
which didn’t come with multibyte encoding support compiled by default, but
it is ignored in => 7.3 servers so it is useless here.

quelle: PostgreSQL: Re: Charset problem on WHERE clause

ich programmier aber schon länger nicht mehr mit java weshalb ich dir hier weiter nichts sagen kann. evtl hilft dir das weiter.

cu tb.

so, ich nochmal… hab noch was gefunden…

Properties prop = new Properties();
 
prop.setProperty("user", databaseLogin);
prop.setProperty("password", databasePassword);
       
con = DriverManager.getConnection("jdbc:postgresql:" + databaseName, prop);

quelle: http://forum.java.sun.com/thread.jspa?threadID=460668&messageID=2110130

evtl hilft dir das auch weiter…

cu tb

Hab die DB jetzt mal auf LATIN1 umgestellt und das funzt.