Insert Umlaute in Datenbank

Diskutiere Insert Umlaute in Datenbank im AWT, Swing, JavaFX & SWT Bereich.
S

Selmau

Hallo Zusamnen

Ich möchte über jdbc Daten von einer JTexarea in eine Datenbank schreiben. Das habe ich auch heschafft, jedoch funktioniert es nicht mehr, sobal Umlaute wie ä, ö, ü im Text sind.
Die Spalte in der Datenbank habe ich mit UTF-8 general deklariert und wenn ich in phpmyadmin direkt Daten hinzufüge funktioniert ä,ö,ü.
Ich vermute also, dass der String aus dem Texrarea die falsche codierung hat. Jedoch weiss ich nicht wie ich das in Eclipse ändern kann?

Hat jemand von euch Ahnung in diesem Bereich?

Gruss Selmau
 
Thallius

Thallius

Womit kontrollierst du denn ob das mit den Umlauten geklappt hat? Mit phpMyAdmin? Das kannst du vergessen wenn Du nur die Spalte auf UTF gesetzt hast, aber die Datenbank selber noch in ISO Latin oder so ist. Ist auch keine gute Idee das Charset einer Spalte zu ändern. Setzt das Charset der DB und auch die Collation auf UTF-8 und es sollte klappen.

Wenn du nur eine Spalte auf UTF-8 setzt und dann mal einen Vergleich von dieer Spalte mit einer anderen Spalte machst, dann muss jedesmal der text konvertiert werden. Du glaubst gar nicht wie langsam deine DB dann plötzlich ist.

Gruß

Claus
 
S

Selmau

Ich habe die Datenbank auch schon kontrolliert und diese sowie der Zeichensatz der SQL Verbindung ist schon auf UTF-8 eingestellt.

  • Zeichensatz/Kollation der MySQL-Verbindung : utf8mb4 unicode ci
  • Server-Zeichensatz: UTF-8 Unicode (utf8)
Also dachte ich es müsste fast am Java Programm liegen.


Gruss Selmau
 
S

Selmau

Hab nun einiges Ausprobiert und gemerkt, dass ich die Kollation auf UTF 8 mb4 haben muss, weil ein "ä" die Kodierung E4 hat und somit 4 bytes benötigt.Mit UTF-8 habe ich anscheinend nur 3.

Nun habe ich aber immer noch der Fehler von der Datenbank: "Data too long for cloumn in row 1" obwohl ich bei der länge genügend angegeben habe.
 
Thallius

Thallius

Warum liest du dir nicht einfach mal ein wenig Doku durch statt nur rumzuspionieren? Dann wüsstest du schon lange warum da eine 4 in mb4 steht. Und mb4 brauchst du nicht für Umlaute. Mb4 braucht man nur für Emoji und andere moderne Schriftzeichen. Sämtliche Sprachen und die dafür benötigten Zeichen passen auch in Standard utf8 Formate und die benötigen, wie du jetzt auch herausgefunden hast nur 3 Bytes.

Und was meinst du mit du hast genügend Länge angegeben?
 
Thema: 

Insert Umlaute in Datenbank

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben