Detaillierte Schritte zum Speichern von Emoji-Ausdrücken in MySQL

Detaillierte Schritte zum Speichern von Emoji-Ausdrücken in MySQL

Verursacht durch: java.sql.SQLException: Falscher Zeichenfolgenwert: „\xF0\x9F\x94\xA5“ für Spalte. Beim Speichern von Emoji-Ausdrücken in MySQL tritt ein Fehler auf.

iOS-Emoticons (Emoji-Emoticons): Obwohl dieses Emoticon UTF-8-codiert ist, belegt ein Zeichen 4 Bytes, während die MySQL-UTF8-Codierung nur 3-Byte-Zeichen speichern kann. In MySQL 5.6 können Sie die Kodierung auf utf8mb4 einstellen, eine Obermenge von utf8.

1. Ändern Sie den MySQL-Zeichensatz

Mysql setzt den Zeichenkodierungssatz auf utf8mb4, und die entsprechende Datenbank, Tabelle und das entsprechende Feld werden auf utf8mb4 gesetzt. Beachten Sie, dass, wenn der utf8-Kodierungssatz einer vorhandenen Tabelle auf utf8mb4 geändert wird, die Datenbank, Tabelle und das Feld einmal gesetzt und überprüft werden müssen. Wenn nur die Datenbank geändert wird, ändern sich die entsprechende Tabelle und das entsprechende Feld nicht, und dasselbe gilt für das Ändern der Tabelle. Wenn Sie die Konfiguration geändert haben, müssen Sie möglicherweise auch die Datenbank neu starten.

Zeichensatzserver = utf8mb4

2. JDBC aktualisieren

Niedrigere Versionen von JDBC zeigen verstümmelte Zeichen, verstümmelte Ausdrücke und sogar verstümmelte chinesische Schriftzeichen an.

Nachfolgend sind einige entsprechende Situationen der JDBC-Versionen aufgeführt. Die Einzelheiten sind wie folgt: Die JDBC-Version unterstützt EMOJI. Das Bild wurde im Internet gefunden. Mein 5.1.6-Test fügt chinesische und Emoji-Ausdrücke normal ein und zeigt sie an.

3. Übernehmen Sie die Serverkonfiguration jdbc:mysql://xxx.xxx.xxx.xxx:3306/dbwww58com_chrcsm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true. Die Parameter nach der Verbindungsadresse sind auf UTF-8 eingestellt oder können automatisch erkannt werden. Wenn nicht, versuchen Sie, den fettgedruckten Teil zu entfernen, damit die Verbindung die Serverkonfiguration automatisch erkennt. Die konkrete Situation hängt von der JDBC-Version ab. Übernehmen Sie die Serverkonfiguration jdbc:mysql://xxx.xxx.xxx.xxx:3306/dbwww58com_chrcsm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true. Die Parameter nach der Verbindungsadresse sind auf UTF-8 eingestellt oder können automatisch erkannt werden. Wenn nicht, versuchen Sie, den fettgedruckten Teil zu entfernen, damit die Verbindung die Serverkonfiguration automatisch erkennt. Die konkrete Situation hängt von der JDBC-Version ab.

4. Legen Sie den init_connect-Parameter von MySQL fest

Nach der Festlegung können Sie dies überprüfen, indem Sie Variablen wie „init_connect“ anzeigen, wie in Abbildung 2 der init_connect-Parameterabfrage dargestellt:

5. Der Kodierungssatz ist im Code festgelegt. Vielleicht liegt es an der JDBC-Version. Ich verwende diese Methode und sowohl das Einfügen als auch die Abfrage können normal fortgesetzt werden. connection.prepareStatement("set names utf8mb4").executeQuery();Dann fügen Sie es über connection.prepareStatement ein. Der Kodierungssatz ist im Code festgelegt, möglicherweise aufgrund der JDBC-Version. Ich verwende diese Methode, und sowohl das Einfügen als auch die Abfrage können normal fortgesetzt werden. connection.prepareStatement("set names utf8mb4").executeQuery();Dann fügen Sie es über connection.prepareStatement ein.

Das könnte Sie auch interessieren:
  • Gründe und Lösungen für das fehlgeschlagene Einfügen von Emoji-Ausdrücken in MySQL
  • Analyse der Lösung für MySQLs Unfähigkeit, Emoji-Ausdrücke zu speichern
  • So gehen Sie mit Fehlern im Emoji-Tabellenspeicher von MySQL um [Kodierung auf utf8mb4 ändern]
  • Analyse von Lösungen für das Problem, dass MySQL keine Emoji-Ausdrücke speichern kann
  • Lösung für das Problem, dass Emoji-Ausdrücke nicht in MySQL eingefügt werden können
  • So aktivieren Sie die Java-Backend-MySQL-Datenbank zur Unterstützung von Emoji-Ausdrücken
  • Tutorial zum Einrichten von MySQL zum Speichern von Emoji-Zeichen
  • So fügen Sie Emoji-Ausdrücke in MySQL ein

<<:  20 JavaScript-Tipps zur Verbesserung der Entwicklungseffizienz

>>:  Linux (CentOS7) installiert Tomcat und legt Tomcat als Startobjekt fest (am Beispiel von Tomcat8).

Artikel empfehlen

Ein seltener Fehler und eine Lösung für die vollständige SQL Server-Sicherung

1. Fehlerdetails Als ich einmal manuell eine voll...

Detaillierte Analyse der MySQL-Indexdatenstruktur

Inhaltsverzeichnis Überblick Indexdatenstruktur B...

So kapseln Sie Abfragekomponenten basierend auf Element-UI Schritt für Schritt

Inhaltsverzeichnis Funktion Grundlegende Abfragef...

Das Laufschrift-Tag in HTML erzielt einen nahtlosen Laufschrift-Effekt

Das <marquee>-Tag ist ein Tag, das paarweis...

Gespeicherte MySQL-Prozeduren und allgemeine Funktionscodeanalyse

Das Konzept der gespeicherten MySQL-Prozedur: Ein...

MySQL mit Nutzungsanalyse

Verwendung von „haben“ Mit der Having-Klausel kön...

Die neueste Sammlung von 18 Webdesign-Arbeiten im grünen Stil

Toy Story 3 Online-Marketing-Website Zen Mobile E...

So stellen Sie Rancher mit Docker bereit (keine Fallstricke)

Vor der Inbetriebnahme unbedingt lesen: Hinweis: ...

jQuery implementiert einen einfachen Kommentarbereich

In diesem Artikel wird der spezifische Code von j...