Java - Zeichensatzproblem (SQL-ASCII)

Hallo,

ich habe ein Java-Skript mit dem ich Schlüssel nach einem bestimmten Prinzip erzeuge.

Leider enthalten diese Daten auch Umlaute, die Java nicht verarbeiten kann. Die Datenbank wurde mit dem Zeichensatz SQL_ASCII erstellt.

Eine Test-DB habe ich mit LATIN1 erstellt und dann funktioniert auch die Ausgabe des Skriptes.

Nun meine Frage kann ich eine bestehen SQL_ASCII-Datenbank problemlos in LATIN1 umwandeln? Wenn ja wie?
ODER: Kann ich mein Java-Skript irgendwie davon überzeugen mir die Umlaute korrekt anzuzeigen?

Hoffe es kann jemand helfen.

http://www.pg-forum.de/ftopic67.html

guck mal hier nach, da gabs ein ganz ähnliches Problem.

Crypi

Hm die Lösung:

  • Dump ziehen
  • DB löschen
  • DB mit neuen Zeichensatz erstellen
  • Dump einspielen

kenne ich schon. :? Trotzdem danke erstmal.

Kann die Datenbank leider nicht einfach mal so “löschen”, weil sie 24h am Laufen sein muß.

Es müßte irgendwie im laufenden Betrieb funktionieren.

hm, und wie wärs damit…

  • dumplen
  • neu anlegen (anderer name)
  • imporiteren
  • umbennen

dann sind zumindest in der umstellungszeit abfragen möglich und nur das hinzufügen und ändern geht nicht…

cu tb.

Stimmt - das wäre 'ne Möglichkeit.

Danke für den Tip.

Kann ich die Original-DB in der Umstellungszeit für INSERTs und UPDATEs sperren?

und datensätze die in der zwischenzeit einfügt worden sind, kannst du theoretisch per hand nachtragen weil du die dbs ja nur unbenennst und nicht löschst. natürlich ist das ein riesen aufwand aber das ist immer so wenn einem so ein großer “fehler” unterläuft…

cu tb.

Ich war’s nich … Die DB gabs schon vor meiner Zeit. Nur mal so am Rande :wink:

Hi,

Ich würde mal folgendes probieren (um den Datenbestand unangetastet zu lassen):

den String aus der DB mit einem StringReader lesen, der in einem InputstreamReader steckt. Dem InputStreamReader kann man im Konstruktor einen Charset mitgeben.

viele Grüsse
lambo

Danke, dass hat mir sehr geholfen.