„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie schreibe ich UTF-8-Strings in MySQL mit JDBC ohne Probleme mit der Zeichenkodierung?

Wie schreibe ich UTF-8-Strings in MySQL mit JDBC ohne Probleme mit der Zeichenkodierung?

Veröffentlicht am 08.11.2024
Durchsuche:132

How to Write UTF-8 Strings into MySQL Using JDBC Without Character Encoding Issues?

So schreiben Sie UTF-8-Zeichenfolgen korrekt über die JDBC-Schnittstelle in MySQL

Die MySQL-Konfiguration ist entscheidend für die korrekte Handhabung der UTF-8-Zeichenkodierung. Stellen Sie sicher, dass der MySQL-Server und -Client entsprechend konfiguriert sind, um Zeichenverstümmelung zu vermeiden.

Sicherstellung der korrekten Konfiguration

Um Ihre MySQL-Konfiguration zu überprüfen, führen Sie diese Befehle aus:

show variables like 'character%';
show variables like 'collation%';

Konfigurationsänderungen

Für MySQL-Versionen 5.1.nn und höher (einschließlich 5.5.29):

[mysqld]
character-set-server = utf8
character-set-filesystem = utf8

Für MySQL-Versionen 5.0.nn und älter:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character-set-server=utf8

Herstellen einer Verbindung zu MySQL mit Java

Stellen Sie eine Verbindung zu MySQL in Ihrem Java-Code her, indem Sie den JDBC-Treiber verwenden und die Zeichenkodierung explizit angeben:

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");

Zusätzliche Tipps

  • Verwenden Sie die UTF-8-Codierung in Ihrem gesamten Programm, einschließlich Datenbankabfragen, Ergebnismengen usw Zeichenfolgenliterale.
  • Erwägen Sie die Verwendung einer JDBC-Wrapper-Bibliothek, die die Zeichenkodierung automatisch übernimmt, wie z. B. Spring JDBC.
  • Stellen Sie sicher, dass die Datenbanktabellen und -spalten mit dem richtigen Zeichensatz und der richtigen Sortierung erstellt werden.
  • In Ihrem speziellen Fall hat das Entfernen der expliziten Zeichensatzeinstellung (query = "setcharacter set utf8";) das Problem möglicherweise behoben, da es möglicherweise ein Problem verursacht hat Konflikt.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3