Gründe und Lösungen für das fehlgeschlagene Einfügen von Emoji-Ausdrücken in MySQL

Gründe und Lösungen für das fehlgeschlagene Einfügen von Emoji-Ausdrücken in MySQL

Fehlerszenario

Beim Aufrufen von JDBC zum Einfügen von Emoji-Ausdrücken in die MySQL-Datenbank wird die Ausnahme java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\x9B' ausgelöst.

Ursache des Fehlers

Ein Zeichen in der UTF-8-Kodierung von MySQL ist höchstens 3 Bytes lang, ein Emoji-Ausdruck ist jedoch 4 Bytes lang. Daher unterstützt UTF-8 die Speicherung von Emoji-Ausdrücken nicht. Allerdings kann utf8mb4, eine Obermenge von utf8, maximal 4 Bytes pro Zeichen haben und unterstützt daher die Speicherung von Emoji-Ausdrücken.

Werfen wir einen Blick auf die ausführliche Einführung.

Lösung

1. Ändern Sie die Zeichensätze der Datenbank, Tabelle und Spalte

Ändern des Datenbank-Zeichensatzes

ALTER DATABASE Datenbankname CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

Ändern des Tabellenzeichensatzes

ALTER TABLE Tabellenname IN ZEICHENSATZ KONVERTIEREN utf8mb4 COLLATE utf8mb4_general_ci;

Ändern des Spaltenzeichensatzes

ALTER TABLE Tabellenname CHANGE Feldname Feldname der ursprüngliche Datentyp des Feldes CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Die oben genannten drei Optionen können entsprechend Ihrer tatsächlichen Situation geändert werden.

2. MySQL-Konfigurationsvariablen anzeigen

VARIABLEN ANZEIGEN, WO Variablenname WIE 'Zeichensatz_%' ODER Variablenname WIE 'Sortier%'; 

Beachten Sie , ob der Wert der Variable character_set_server gleich utf8mb4 ist. Wenn nicht, fahren Sie mit Schritt 3 fort.

3. Ändern Sie die MySQL-Konfigurationsdatei

Hier ist MySQL unter CentOS installiert, der Name der Konfigurationsdatei lautet my.cnf und der Pfad basiert auf dem Verzeichnis, in dem Sie es installiert haben.

vim /etc/meine.cnf /etc/mysql/meine.cnf 

meine.cnf

Suchen Sie nach character_set_server, setzen Sie seinen Wert auf utf8mb4, speichern Sie und beenden Sie. Versuchen Sie erneut, ihn einzufügen, um zu sehen, ob ein Fehler vorliegt. Wenn ein Fehler auftritt, müssen Sie möglicherweise den MySQL-Dienst neu starten.

Dienst MySQL Neustart

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Schritte zum Speichern 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

<<:  Lösung zum Vergessen des Passworts des Pagodenpanels in Linux 3.X/4.x/5.x

>>:  Vue verwendet Better-Scroll, um ein Beispiel für eine horizontale Scroll-Methode zu erreichen

Artikel empfehlen

Einige häufige Fehler mit MySQL null

Laut Nullwerten bedeutet der Wert Null in MySQL l...

Beispielcode zur Implementierung eines Laufschriftformats mit CSS3

Hintergrund Folgendes ist passiert: Luzhu erfuhr ...

Detaillierte Analyse des Flex-Layouts in CSS3

Das Flexbox-Layoutmodul soll eine effizientere Mö...

Der Unterschied zwischen div und span in HTML (Gemeinsamkeiten und Unterschiede)

Gemeinsamkeiten: Das DIV-Tag und das SPAN-Tag beh...

Grundlegendes Tutorial zum WeChat-Miniprogramm: Verwendung von Echart

Vorwort Schauen wir uns zunächst den Endeffekt an...

JavaScript-Canvas zum Erstellen eines Rubbellos-Beispiels

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

So verwenden Sie html2canvas, um HTML-Code in Bilder umzuwandeln

Konvertieren Sie Code in ein Bild mit html2canvas...

So fügen Sie Emoji-Ausdrücke in MySQL ein

Vorwort Als ich heute ein Feedback-Formular für e...

Beheben von Problemen mit impliziter MySQL-Konvertierung

1. Problembeschreibung root@mysqldb 22:12: [xucl]...

So passen Sie mit CSS einen schöneren Link-Prompt-Effekt an

Vorschlag: Das möglichst häufige handschriftliche ...