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

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

DDD
Freigeben: 2024-12-30 11:59:10
Original
209 Leute haben es durchsucht

How to Fix

Umgang mit falschen String-Werten beim Einfügen von UTF-8 in MySQL über JDBC

Beim Versuch, UTF-8-Daten mit in eine MySQL-Datenbank einzufügen Wenn Sie JDBC verwenden, wird möglicherweise die Fehlermeldung „Falscher Zeichenfolgenwert:“ angezeigt. 'xF0x90x8Dx83xF0x90...'“ Dieser Fehler tritt häufig auf, wenn der eingefügte Text Zeichen enthält, die nicht im utf8-Zeichensatz von MySQL dargestellt werden können.

Während Ihre Verbindungseinstellungen die Verwendung von Unicode („useUnicode=true“) und beinhalten UTF-8-Kodierung („characterEncoding=utf-8“), die utf8-Kodierung von MySQL unterstützt nur Unicode-Zeichen, die mit 3 dargestellt werden können Bytes in UTF-8. Das Zeichen, das den Fehler verursacht, benötigt jedoch 4 Bytes.

Lösung:

Um dieses Problem zu beheben, haben Sie zwei Möglichkeiten:

  • Ändern Sie die Spaltenkodierung in utf8mb4:
    Wenn Ihre MySQL-Version 5.5 oder ist Später können Sie die Spaltenkodierung für die betroffene Spalte von utf8 in utf8mb4 ändern. Diese Kodierung ermöglicht die Speicherung von Zeichen, die 4 Bytes in UTF-8 belegen.
  • Serverkonfiguration ändern:
    Darüber hinaus müssen Sie möglicherweise die Servereigenschaft „character_set_server“ in Ihrem MySQL auf „utf8mb4“ setzen Konfigurationsdatei. Dadurch wird sichergestellt, dass MySQL standardmäßig 4-Byte-UTF-8-Zeichensätze unterstützt.

Beachten Sie, dass Connector/J, das häufig für JDBC-Verbindungen mit MySQL verwendet wird, standardmäßig 3-Byte-Unicode verwendet. Daher wird empfohlen, „characterEncoding“ aus Ihrer Verbindungszeichenfolge wegzulassen und den MySQL-Server mit „character_set_server=utf8mb4“ zu konfigurieren, damit Connector/J die UTF-8-Einstellung automatisch erkennen kann.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Falscher Zeichenfolgenwert' beim Einfügen von UTF-8-Daten in MySQL ü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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage