1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

MySQL / Java - Umlaute

  • el.a.er.a
  • 5. Dezember 2007 um 17:05
  • Unerledigt
  • el.a.er.a
    5
    el.a.er.a
    Mitglied
    Punkte
    230
    Beiträge
    45
    • 5. Dezember 2007 um 17:05
    • #1

    Hallo,

    ich hab eine Frage. Ich muss fuer ein Programm Daten aus einer MySQL-Datenbank rauslesen. Wenn jetzt jedoch Umlaute in der Datenbank stehen, dann werden die in Java komisch ausgegeben ... das "ö" wird zu einem " usw.

    Weiß jemand vielleicht, was ich da tun kann? Ich braeuchte es fuer Windows XP, das Programm soll darunter laufen.

    -Lara.

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 5. Dezember 2007 um 18:31
    • #2
    Zitat von el.a.er.a

    ich hab eine Frage. Ich muss fuer ein Programm Daten aus einer MySQL-Datenbank rauslesen. Wenn jetzt jedoch Umlaute in der Datenbank stehen, dann werden die in Java komisch ausgegeben ... das "ö" wird zu einem " usw.

    Weiß jemand vielleicht, was ich da tun kann? Ich braeuchte es fuer Windows XP, das Programm soll darunter laufen.


    ich schätze, dass Java glaubt es ist ISO und es ist UTF-8. Oder MySQL glaubt es ist UTF-8 dabei kommt es als ISO daher beim Reinschreiben, oder so ähnlich. Check mal die Kodierung Deines HTML Formulars (ich nehme, Du hast eins) und die Kodierung des Feldes in der DB.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Paulchen
    1
    Paulchen
    Gast
    • 5. Dezember 2007 um 18:59
    • #3

    Ohne an der Konfiguration der Datenbank was ändern zu müssen, kannst du das, was du vom ResultSet bekommst, von dem Zeichensatz, den die Datenbank verwendet (latin1 aka iso-8859-1, cp1252, utf8, was auch immer, siehe "show create table <tablename>") in Unicode konvertieren; und zwar ca. so:

    PHP
    String unicodeString = new String(databaseInput.getBytes("latin1"));
  • el.a.er.a
    5
    el.a.er.a
    Mitglied
    Punkte
    230
    Beiträge
    45
    • 5. Dezember 2007 um 21:34
    • #4

    Ich hab mittlerweile die Codierung der Datenbank auf UTF-8 umgestellt, Java sollte ja an und fuer sich auch UTF-8 lesen. Wenn ich jetzt die Daten direkt in Java eingebe und dann aus der DB lese, dann erkennt es die Umlaute - wenn ich jedoch die initialisierten Daten direkt in die MySQL-Datenbank reinschreibe (direkt mit SQL), dann funktioniert's nicht.

    Aber danke auf jeden Fall. Falls weitere neue Daten benoetigt werden, dann werden sie eh direkt ueber mein Java-programm eingegeben und das passt dann schon. Muss mir halt nur was ueberlegen fuer die Daten, die ich eigentlich initialisierenderweise anfangs direkt in die DB reinschreiben will.

  • Paulchen
    1
    Paulchen
    Gast
    • 5. Dezember 2007 um 22:24
    • #5

    Womit schreibst du "direkt in die DB rein"? Mit dem Commandline-MySQL-Client? Vielleicht das Argument --default-character-set=utf8 beim Start des Clients. Und wenn du aus einer Datei liest, sollte die dann auch utf8-encodiert sein.

  • el.a.er.a
    5
    el.a.er.a
    Mitglied
    Punkte
    230
    Beiträge
    45
    • 5. Dezember 2007 um 23:37
    • #6

    Hm, danke. Das hab ich allerdings beides gesetzt. Ist mittlerweile auch egal, ich hab einen kleinen Workaroudn geschaffen und da das eh nur am Anfang wichtig ist, beschaeftige ich mich jetzt nicht weiter damit. (oder will mich jetzt nicht mehr weiter damit beschaeftigen - angesichts des restlichen umfangs der software is das nur miniminimini :winking_face: )

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 2 Besucher

Rechtliches

Impressum

Datenschutzerklärung