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

Detaillierte Erklärung der MySQL-Datenbank-Trigger

Inhaltsverzeichnis 1 Einleitung 2 Trigger-Einführ...

Zusammenfassung der Methoden zum Abfragen von MySQL-Benutzerberechtigungen

Einführung von zwei Methoden zum Anzeigen von MyS...

Uniapp realisiert gleitenden Scoring-Effekt

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

Beispiel zum Überprüfen der Kapazität einer MySQL-Datenbanktabelle

Dieser Artikel stellt die Befehlsanweisungen zum ...

Detaillierte Erklärung des Prinzips zum Erstellen von Tomcat in Eclipse

Beim Erstellen eines Tomcat-Servers auf einem lok...

Beispiel zum Einbetten von H5 in die Webansicht des WeChat-Applets

Vorwort WeChat-Miniprogramme bieten neue offene F...

Detaillierte Erklärung zur Verwendung des Grep-Befehls in Linux

Linux-Grep-Befehl Mit dem Linux-Befehl grep könne...

Linux Dateisystemtyp anzeigen Beispielmethode

So überprüfen Sie den Dateisystemtyp einer Partit...

Einige Vorschläge zur Verbesserung der Nginx-Leistung

Wenn Ihre Webanwendung nur auf einer Maschine läu...

Detaillierte Erläuterung der Beispiele für CSS-Gewichtswerte (Kaskadierung)

•Es gibt viele Selektoren in CSS. Was passiert, w...

Lösung für Nginx, das nicht zur Upstream-Adresse springt

Vorwort Heute bin ich in Nginx auf ein sehr selts...

So invertieren Sie die Implementierung einer Bézierkurve in CSS

Schauen wir uns zunächst einen CSS-Karussell-Anim...