JeFi Geschrieben 25. März 2006 Geschrieben 25. März 2006 Hallo ich habe folgendes Problem ich möchte aus einer MySQL Datenbank Texte mit Umlauten und Sonderzeichen abfragen! Nun scheint das Problem die Zeichensatzkodierung zu sein!!! Wenn ich Daten mit Umlauten im ResultSet stehen hatte bekam ich anstelle eines ß irgentwelche anderen komischen Zeichen!(die konnte ich umgehen indem ich nicht ResultSet.getString() sonder new String(ResultSet.getBytes()) aufgerufen hatte)! Nun dachte ich sei mein Problem gelöst gewesen bis ich in meinem SELECT Statement auch ein Sonderzeichen hatte!!! Nun meine Frage weiß jemand wie man die Zeichenkodierung festsetzen kann? (im MySql Programm kann ich ohne weiteres mit Umlauten arbeiten! nur wenn ich den weg über Java gehe funktioniert es nicht! kann es am Connector liegen??) vielen Dank im Voraus Zitieren
DevilDawn Geschrieben 25. März 2006 Geschrieben 25. März 2006 http://dev.mysql.com/doc/refman/5.0/en/charset-database.html?ff=nopfpls Zitieren
JeFi Geschrieben 27. März 2006 Autor Geschrieben 27. März 2006 Hallo und danke erstmal! Wenn ich mir aber das so anschaue kann ich mit dem Befehl nur die Kodierung in der DB setzen! Da aber die Datenbank die Umlaute und Sonderzeichen wegspeichern kann, denke ich mal, dass es an der Komunikation zwischen Java Programm und DB liegt! Sprich der könnte Connector das Problem sein! Aber dürfte doch eigentlich nicht so schwer sein oder? Schließlich hat sicherlich jeder von euch in seiner DB die Umlaute und Sonderzeichen! Wie ist das denn bei euch? :confused: Zitieren
Jaraz Geschrieben 27. März 2006 Geschrieben 27. März 2006 Je nachdem mit was der mysql client arbeitet, die Datenbank eingestellt ist usw. kann es sein das du Connection Parameter setzen musst. Auf einem Debian Sarge mit utf8 Datenbank muss ich z.B. folgendes beim DBCP Connection Pool setzen, da die Defaultwerte des Datenbank Servers auf latin1 stehen: url="jdbc:mysql://192.168.0.1:3306/mydb" connectionProperties="useUnicode=true;connectionCollation=utf8_general_ci;characterSetResults=utf8;" Auf dem Entwicklungs Windows System funktioniert aber alles ohne die connectionProperties. Das ganze findest du auch auf Seite 24 der aktuellen 3.1 Mysql Connector/J Docs. Gruß Jaraz Zitieren
JeFi Geschrieben 27. März 2006 Autor Geschrieben 27. März 2006 Hi! Ja habe gerade auch so etwas gefunden gehabt! Aber leider scheint das auch nicht zu gehen! Sprich wenn ich über Java abspeicher wird aus einem ä zb schwarzes Viereck! Wenn ich das dann über Java wieder einlese ist alles ok und er zeigt mir das ä richtig an! Wenn ich jetzt aber "per hand" die Daten in die DB mit einem INSERT Statement eintrage dann stehen sie zwar mit ä drin aber wenn ich dann über Java abfrage kommt er damit natürlich nicht klar! Kurz bisher ist das ganze nur Java - Java oder MySql - MySql kompatibel!(möchte aber auch gerne ne Mischform ermöglichen und da hatte ich eigentlich auch auf das characterEncoding gesetzt gehabt was leider nicht geht ) Zitieren
Jaraz Geschrieben 27. März 2006 Geschrieben 27. März 2006 Hi, du musst halt überall drauf achten das die Einstellungen stimmen. Wenn du per mysql Client und latin1 in eine utf8 Datenbank schreibst und ließt, mag das vielleicht an der Stelle gerade gut aussehen, da du ein ä siehst. Aber wenn du das dann von woanders nicht mit latin1 sondern utf8 ausließt, passt es halt nicht mehr. Gruß Jaraz Zitieren
JeFi Geschrieben 28. März 2006 Autor Geschrieben 28. März 2006 HalliHallo Ja also ich hatte da schon drauf geachtet sprich ich habe jetzt alles auf utf-8 eingestellt. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.