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

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

Vorwort

Als ich heute ein Feedback-Formular für ein Open-Source-Projekt entwarf, stieß ich auf das Problem, dass ich keine Emoji-Ausdrücke einfügen konnte. Ich suchte online nach vielen Lösungen, aber die Antworten waren unterschiedlich und ich fand keine, die funktionierte.

Nach einigen Schwierigkeiten habe ich den Emoji-Ausdruck schließlich erfolgreich eingefügt. In diesem Artikel werde ich Ihnen meinen Implementierungsprozess erläutern. Interessierte Entwickler sind herzlich eingeladen, diesen Artikel zu lesen.

Vorne geschrieben

Mein Server ist ein Mac-System und MySQL wird mit brew installiert. Der Speicherort der Konfigurationsdatei kann unter Windows/Linux je nach tatsächlicher Situation leicht abweichen.

Lassen Sie mich Ihnen zunächst die Fehlermeldung zeigen:

chat_system> UPDATE chat_system.feedback t SET t.comments = 'Feedback-Informationstest 😂' WHERE t.id = 1
[2020-12-01 21:36:08] [HY000][1366] Falscher Stringwert: '\xF0\x9F\x98\x82' für Spalte 'Kommentare' in Zeile 1
[2020-12-01 21:36:08] [HY000][1366] Falscher Stringwert: '\xF0\x9F\x98\x82' für Spalte 'Kommentare' in Zeile 1

Umsetzungsideen

Da die Datenbank standardmäßig das UTF-8-Kodierungsformat verwendet, belegen normale Zeichenfolgen 3 Bytes und Emoticons 4 Bytes. Derzeit reicht UTF-8 nicht aus. Der Zeichensatz utf8mb4 kann dieses Problem lösen.

Hinweis: Der Zeichensatz utf8mb4 erfordert eine Datenbankversion höher als 5.5.3.

Wir müssen also Folgendes tun:

  • Ändern Sie die MySQL-Konfigurationsdatei und legen Sie ihr Kodierungsformat fest
  • Ändern der Datenbank-Zeichensatzkodierung
  • Ändern der Zeichensatzkodierung der Datenbanktabelle

Implementierungsprozess

Die Standardreihenfolge, in der MySQL die Konfiguration liest, ist: /etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf. Wenn diese Konfigurationsdateien im entsprechenden Verzeichnis nicht vorhanden sind, müssen Sie eine neue erstellen.

  • Ändern Sie die Datenbankkonfigurationsdatei my.cnf. Mein Dateispeicherort ist: /usr/local/etc. Fügen Sie den folgenden Code hinzu
[mysqld]
Zeichensatzserver = utf8mb4
Sortierserver = utf8mb4_unicode_ci
init_connect = "Namen festlegen utf8mb4"
Zeichensatz-Client-Handshake = false
[Kunde]
Standardzeichensatz = utf8mb4
[mysql]
Standardzeichensatz = utf8mb4

  • Ändern Sie die Zeichensatzkodierung der Datenbank und führen Sie nach der Anmeldung bei MySQL die folgende SQL-Anweisung aus.
# Legen Sie die Zeichensatzkodierung der Datenbank fest. Chat_System ist der Datenbankname. Entsprechend Ihrer tatsächlichen Situation ALTER DATABASE Chat_System CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • Ändern Sie die Zeichensatzkodierung der Datenbanktabelle und führen Sie nach der Anmeldung bei MySQL die folgende SQL-Anweisung aus.
# Legen Sie die Zeichensatzkodierung der Datenbanktabelle fest. chat_system.feedback_comment_reply ist der entsprechende Tabellenname in meiner Datenbank. ALTER TABLE chat_system.feedback_comment_reply CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Nachdem wir die oben genannten Vorgänge abgeschlossen haben, überprüfen wir, ob die Änderung erfolgreich war. Melden Sie sich bei MySQL an und führen Sie die folgende SQL-Anweisung aus.

VARIABLEN ANZEIGEN, WO Variablenname WIE ‚Zeichen%‘ ODER Variablenname WIE ‚Sortierung%‘;

Wenn untergeordnete Informationen angezeigt werden, bedeutet dies, dass wir die Änderung abgeschlossen haben.

Testfälle

Fügen wir zum Testen einen Emoji-Ausdruck ein:

UPDATE chat_system.feedback t SET t.comments = 'Feedback-Informationstest 😂' WHERE t.id = 1;

Wie unten gezeigt wird kein Fehler gemeldet und das Einfügen ist erfolgreich.

Wir verwenden dataGrap, um die Daten in der Datenbanktabelle anzuzeigen. Wie unten gezeigt, wird ein ? angezeigt, was bedeutet, dass die Software es nicht erkennen kann.

Logischerweise sollte das Einfügen erfolgreich sein. Wir probieren es mit der Postman-Request-Schnittstelle und es wird erfolgreich angezeigt 😄.

Oben finden Sie Einzelheiten zum Einfügen von Emoji-Emoticons in MySQL. Weitere Informationen zum Einfügen von Emoji-Emoticons in MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Schritte zum Speichern von Emoji-Ausdrücken in MySQL
  • 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

<<:  Detaillierte Erklärung der Kommunikation zwischen hierarchisch verschachtelten Komponenten in der Vue-Frontend-Entwicklung

>>:  Implementierungscode für die teilweise Aktualisierung einer HTML-Seite

Artikel empfehlen

Aggregatabfrage- und Union-Abfragevorgänge für MySQL-Datenbanken

Inhaltsverzeichnis 1. Einfügen der abgefragten Er...

js zur Implementierung eines Web-Rechners

Wie erstelle ich mit HTML, CSS und JS einen einfa...

Detaillierte Erläuterung der Nginx-Zugriffsbeschränkungskonfiguration

Was ist die Nginx-Zugriffsbeschränkungskonfigurat...

Manuelle und geplante Sicherungsschritte für die MySQL-Datenbank

Inhaltsverzeichnis Manuelle Sicherung Timer-Siche...

So konfigurieren Sie die MySQL Master-Slave-Replikation unter Windows

Die MySQL Master-Slave-Replikation ermöglicht die...

MySQL Installations-Tutorial unter Windows mit Bildern und Text

Anweisungen zur MySQL-Installation MySQL ist ein ...

So vergessen Sie das Passwort von Jenkins in Linux

1. Jenkins-Installationsschritte: https://www.jb5...

Korrekte Änderungsschritte für das Standardnetzwerksegment von Docker

Hintergrund Ein Kollege arbeitet an seinem Sicher...

Teilen Sie 13 hervorragende Web-Wireframe-Design- und Produktionstools

Wenn Sie mit der Arbeit an einem Projekt beginnen...

Installations-Tutorial zur komprimierten Version von MySQL 8.0.11

In diesem Artikel finden Sie das Installations-Tu...

Grafisches Tutorial zur MySQL8-Installationsversion

Installation Die erforderlichen Unterlagen finden...