# ODBC + MySQL + Umlaute => Katastrophe



## Tomate_Salat (22. Dez 2009)

Hi,

ich durchforste nun schon ewig das Internet und finde einfach nichts brauchbares. Ich Arbeite mittels ODBC-MySQL-Treiber. Jetzt würde ich gerne die Umlaute aus der MySQL-Datenbank (Tabellen habe ich auf utf8-generel-ci eingestellt) anzeigen lassen. Bekomme aber nur Fragezeichen angezeigt. 


```
// ds => der DatasourceName des eingestellten ODBC's
Properties props	= new Properties();			
props.put("characterEncoding","UTF-8");
props.put("charSet", "UTF8");		
con	= DriverManager.getConnection("jdbc:odbc:" + ds, props);
```

MFG

Tomate_Salat


----------



## fastjack (22. Dez 2009)

Probier mal das hier in der Url und las die Props weg : 


```
?useUnicode=true&amp;characterEncoding=UTF-8
```


----------



## Tomate_Salat (22. Dez 2009)

also so:

```
con	= DriverManager.getConnection("jdbc:odbc:" + ds + "?useUnicode=true&amp;characterEncoding=UTF-8");
```

... so bekomme ich einen java.lang.NullPointerException (welcher vorher nie erschienen ist und ich teste die gleichen Datensätze)

€: uups, ausversehen eine Fehlerausgabe unterdrückt...also die richtige ist:


```
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben
```
demnach nehm ich an, mit meim syntax stimmt was nicht


----------



## bronks (22. Dez 2009)

Tomate_Salat hat gesagt.:


> ... ODBC-MySQL-Treiber ...


Die jdbcdbc Bridge von Sun kann leider keine Unicode. 

Wenn es unbedingt mit ODBC laufen muß, dann kannst Du eine alternative Bridge probieren. Da soll es ein paar davon geben, die Unicode können. 

Oder besser den JDBC-Treiber für MySql.


----------



## Tomate_Salat (22. Dez 2009)

Ich mag den JDBC-Treiber nicht, da er mir eigentl. zu unflexibel ist....aber besser als die Ersatzlösung die ich vor hatte =). Der liefert mir immerhin ohne Probleme meine Umlaute zurück =)


----------

