Heim > Datenbank > MySQL-Tutorial > Wie behebe ich den MySQL-Fehler „Falscher Zeichenfolgenwert' beim Einfügen von UTF-8-Daten über JDBC?

Wie behebe ich den MySQL-Fehler „Falscher Zeichenfolgenwert' beim Einfügen von UTF-8-Daten über JDBC?

Patricia Arquette
Freigeben: 2024-12-25 21:01:16
Original
914 Leute haben es durchsucht

How to Fix the MySQL

Fehlerbehebung beim Fehler „Falscher Zeichenfolgenwert“ beim Einfügen von UTF-8 in MySQL über JDBC

Der Fehler „Falscher Zeichenfolgenwert“ kann auftreten, wenn Versuch, UTF-8-Daten mithilfe von JDBC in eine MySQL-Datenbank einzufügen. Dieser Fehler weist normalerweise darauf hin, dass die Zeichenkodierung nicht richtig konfiguriert ist.

Erklärung des Problems

In Ihrem Fall haben Sie Ihre JDBC-Verbindung mit den folgenden Parametern konfiguriert:

Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true&characterEncoding=utf-8", userName, password);
Nach dem Login kopieren

Diese Konfiguration gibt an, dass Unicode-Zeichen verwendet werden sollen und dass die Zeichenkodierung UTF-8 sein soll. Die Fehlermeldung deutet jedoch darauf hin, dass der falsche Zeichenfolgenwert mit „xF0“ beginnt, einem 4-Byte-UTF-8-Zeichen.

Lösung

Standardmäßig ist Die utf8-Kodierung von MySQL erlaubt nur Zeichen, die mit 3 Bytes in UTF-8 dargestellt werden können. Um dieses Problem zu beheben, müssen Sie die utf8mb4-Kodierung für Ihre MySQL-Datenbank angeben. Diese Kodierung unterstützt Zeichen, die 4 Bytes in UTF-8 belegen.

Schritte zur Lösung:

  1. Ändern Sie die Spaltenkodierung der problematischen Spalte mithilfe von in utf8mb4 folgende Abfrage:
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(255) CHARACTER SET utf8mb4;
Nach dem Login kopieren
  1. Wenn Sie MySQL 5.5 verwenden oder später: Legen Sie die Servereigenschaft „character_set_server“ in der MySQL-Konfigurationsdatei auf „utf8mb4“ fest.
  2. Stellen Sie sicher, dass Connector/J die UTF-8-Einstellung automatisch erkennt, indem Sie „characterEncoding“ aus der Verbindungszeichenfolge weglassen.

Zusätzliche Informationen:

  • Weitere Informationen zu Unicode Zeichensätze in MySQL finden Sie in der offiziellen MySQL-Dokumentation: [https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html](https://dev.mysql.com/ doc/refman/8.0/en/charset-unicode-sets.html)
  • Connector/J bietet außerdem detaillierte Anweisungen zur Konfiguration der UTF-8-Unterstützung: [https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-charset.html](https://dev.mysql.com/doc/connector-j/8.0/ en/connector-j-reference-charset.html)

Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „Falscher Zeichenfolgenwert' beim Einfügen von UTF-8-Daten über JDBC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage