Dieser Artikel beschreibt die Support- und Problemlösungsmethoden des MySQL Java-Servers für Emoji. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: Problembeschreibung Die von der untersten Ebene erfassten Microblog-Daten werden in MySQL gespeichert. Einige Daten können nicht gespeichert werden. Nach der Überprüfung von Tomcat lauten die Kernfehlerinformationen wie folgt:
Ursachenanalyse
【Notiz】
Problemumgehung Spezielle Emoticons filtern content = content.replaceAll("[\\x{10000}-\\x{10FFFF}]", ""); // Einfach und grob, nicht menschlich Aktualisieren des Datenbankzeichensatzes 1. Die von utf8mb4 unterstützte MySQL-Version ist 5.5.3+. Wenn MySQL niedriger als diese Version ist, aktualisieren Sie es bitte zuerst. 2. Ändern Sie den Zeichensatz der Datenbank, der Tabelle und der Spalte 3. Ändern Sie die MySQL-Konfigurationsdatei my.cnf (my.ini für Windows). my.cnf befindet sich im Allgemeinen im Verzeichnis etc/mysql/. Nachdem Sie sie gefunden haben, fügen Sie den folgenden Inhalt in den folgenden drei Teilen hinzu: [Client] Standardzeichensatz = utf8mb4 [mysql] Standardzeichensatz = utf8mb4 [mysqld] Zeichensatz-Client-Handshake = FALSE Zeichensatzserver = utf8mb4 Sortierserver = utf8mb4_unicode_ci init_connect = "Namen festlegen utf8mb4" 4. Starten Sie MySQL neu und überprüfen Sie den Zeichensatz Geben Sie in die MySQL-Befehlszeile ein: VARIABLEN ANZEIGEN, WO Variablenname WIE 'Zeichensatz_%' ODER Variablenname WIE 'Sortier%'; Zeichensatz vor dem Neustart Zeichensatz nach Neustart 【Notiz】
Nachdem Sie die obigen 4 Schritte abgeschlossen haben, verwenden Sie den MySQL-Client Navicat, um der Tabelle manuell Emoji-Ausdrücke ⛄ hinzuzufügen. Wenn sie erfolgreich gespeichert werden können, bedeutet dies, dass die Datenbank erfolgreich aktualisiert wurde. Die genauen Unterschiede zwischen diesen Zeichensatzkonfigurationen finden Sie unter Ausführliche MySQL-Zeichensatzeinstellungen. 5. Überprüfen Sie die serverseitige DB-Konfigurationsdatei // Die beim Konfigurieren von Spring verwendeten Links lauten wie folgt: url="jdbc:mysql://localhost:3306/gzhou?allowMultiQueries=true&useUnicode=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&autoReconnectForPools=true&failOverReadOnly=false&maxReconnects=10" // Wenn characterEncoding=utf8mb4, wird beim Einfügen von Daten eine Fehlermeldung angezeigt. Ursache: java.sql.SQLException: Nicht unterstützte Zeichenkodierung „utf8mb4“ //CharacterEncoding oder CharacterEncoding=utf8 entfernen Emoji Im Android-System verfügen die Eingabemethoden Sogou und Baidu über integrierte Emoji-Ausdrücke. 【Notiz】 Wenn die Emoji-Symbole zwischen den Systemen inkompatibel sind, werden nur Quadrate angezeigt. Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen ansehen: „Zusammenfassung der allgemeinen MySQL-Funktionen“, „Zusammenfassung der Kenntnisse zu MySQL-Protokollvorgängen“, „Zusammenfassung der Kenntnisse zu MySQL-Transaktionsvorgängen“, „Zusammenfassung der Kenntnisse zu gespeicherten MySQL-Prozeduren“ und „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Methode der Toolbibliothek zur Generierung von Vue-Komponentendokumenten
Apache Superset ist ein leistungsstarkes BI-Tool,...
Warum sagen wir „normalerweise 1em=16px“? Die vom...
In Vue haben wir im Allgemeinen Front-End- und Ba...
Vorwort Ich habe zuvor viele ähnliche Artikel gel...
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis Hintergrund Hauptinhalt 1. Kom...
Inhaltsverzeichnis Einführung Protokollklassifizi...
1. Schauen wir uns zunächst eine Anweisung zur Ta...
Vorwort Manchmal muss die Höhe eines Box-Containe...
Inhaltsverzeichnis 1. Wenn die Maus über das Karu...
Das Implementierungsprinzip der bidirektionalen D...
Code kopieren Der Code lautet wie folgt: Untersch...
Inhaltsverzeichnis 1. Was ist eine berechnete Eig...
Inhaltsverzeichnis Portainer verwaltet mehrere Do...
Datenbankversion: mysql> select version(); +--...