Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich die Fehlermeldung „Ungültige utf8-Zeichenfolge', wenn ich Emojis in meiner MySQL-utf8mb4-Datenbank speichere?

Warum erhalte ich die Fehlermeldung „Ungültige utf8-Zeichenfolge', wenn ich Emojis in meiner MySQL-utf8mb4-Datenbank speichere?

DDD
Freigeben: 2024-12-09 12:50:14
Original
727 Leute haben es durchsucht

Why Am I Getting

Speichern von Emojis in der MySQL utf8mb4-Datenbank: Fehlerbehebung bei Fehlern aufgrund ungültiger Zeichen

Beim Versuch, Namen mit Emojis in einer MySQL-Datenbank zu speichern, werden Fehler wie „ Trotz ordnungsgemäßer Konfiguration kann es zu einer ungültigen UTF8-Zeichenfolge kommen. Ein potenzielles Problem liegt in inkonsistenten Zeichensatz- und Sortierungseinstellungen.

Um die Konfiguration zu überprüfen, führen Sie die folgende Abfrage aus:

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
Nach dem Login kopieren

Die Ausgabe sollte die folgenden Einstellungen für die betreffende Datenbank anzeigen:

+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8mb4            |
| character_set_connection | utf8mb4            |
| character_set_database   | utf8mb4            |
| character_set_filesystem | binary             |
| character_set_results    | utf8mb4            |
| character_set_server     | utf8mb4            |
| character_set_system     | utf8               |
| collation_connection     | utf8mb4_unicode_ci |
| collation_database       | utf8mb4_unicode_ci |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+
Nach dem Login kopieren

Stellen Sie sicher, dass die Werte für „character_set_client“, „character_set_connection“ und „character_set_results“ alle auf gesetzt sind utf8mb4. Wenn nicht, passen Sie diese Einstellungen entsprechend an.

Überprüfen Sie außerdem, ob die Konfigurationsdatei my.cnf Inkonsistenzen enthält. Suchen Sie nach Einstellungen, die Zeichensätze und Sortierungen angeben, und stellen Sie sicher, dass diese mit der Datenbankkonfiguration konsistent sind. Überprüfen Sie beispielsweise, ob diese Zeilen vorhanden sind:

character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Nach dem Login kopieren

Wenn diese Einstellungen nicht vorhanden oder falsch sind, ändern Sie sie nach Bedarf und starten Sie den MySQL-Dienst neu.

Abschließend sollten Sie Folgendes ausführen Abfrage zum Festlegen des Zeichensatzes und der Sortierung für die aktuelle Verbindung:

SET NAMES utf8mb4;
Nach dem Login kopieren

Dadurch wird sichergestellt, dass alle drei Zeichensatzvariablen festgelegt sind korrekt.

Indem Sie diese Schritte befolgen, können Sie das Problem ungültiger UTF-8-Zeichenfehler beim Speichern von Emojis in einer MySQL-Datenbank mit utf8mb4-Konfiguration beheben.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Ungültige utf8-Zeichenfolge', wenn ich Emojis in meiner MySQL-utf8mb4-Datenbank speichere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage