Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich die Fehlermeldung „Ungültige utf8-Zeichenfolge', wenn ich Emojis in meiner MySQL-utf8mb4-Datenbank speichere?
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%';
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 | +--------------------------+--------------------+
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
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;
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!