Heim  >  Artikel  >  Datenbank  >  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?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 13:59:02844Durchsuche

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 der MySQL-Client ordnungsgemäß 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

Verbindung zu MySQL mit Java herstellen

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

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

Zusätzliche Tipps

  • Verwenden Sie UTF-8-Codierung in Ihrem gesamten Programm, einschließlich Datenbankabfragen, Ergebnismengen und Zeichenfolgenliteralen.
  • 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 , das Entfernen der expliziten Zeichensatzeinstellung (query = "setcharacter set utf8";) hat das Problem möglicherweise behoben, da es möglicherweise einen Konflikt verursacht hat.

Das obige ist der detaillierte Inhalt vonWie schreibe ich UTF-8-Strings in MySQL mit JDBC ohne Probleme mit der Zeichenkodierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn