Fehler „Falscher Zeichenfolgenwert“ in MySQL beheben
Hintergrund:
Trotz der Textkonfiguration Spalten mit UTF-8-Zeichensatz und -Sortierung lösen bestimmte E-Mail-Adressen weiterhin Fehler „Falscher Zeichenfolgenwert“ aus. Dieser Artikel untersucht die zugrunde liegende Ursache dieser Fehler und bietet Lösungen.
Ursache:
Die Fehlermeldung deutet darauf hin, dass die betroffenen E-Mail-Adressen Zeichen enthalten, die vom aktuellen Zeichen nicht unterstützt werden Konfiguration festlegen. Obwohl UTF-8 im Allgemeinen zulässig ist, können einige Zeichenfolgen seine Grenzen überschreiten.
Lösung:
Datenbankverbindung prüfen: Führen Sie nach dem Herstellen einer MySQL-Verbindung die folgenden SQL-Anweisungen aus:
SET NAMES 'utf8mb4'; SET CHARACTER SET utf8mb4;
Dadurch wird der Zeichensatz festgelegt und Sortierung für die aktuelle Verbindung nach UTF-8 mit vier Bytes pro Zeichen (utf8mb4).
Tabellenzeichensatz überprüfen: Führen Sie für die Tabellen mit den betroffenen E-Mail-Adressen die folgende Abfrage aus, um den Zeichensatz zu überprüfen:
SELECT `tables`.`TABLE_NAME`, `collations`.`character_set_name` FROM `information_schema`.`TABLES` AS `tables`, `information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations` WHERE `tables`.`table_schema` = DATABASE() AND `collations`.`collation_name` = `tables`.`table_collation` ;
Stellen Sie sicher, dass der Zeichensatz auf eingestellt ist utf8mb4.
Datenbankeinstellungen prüfen:Führen Sie die folgenden MySQL-Anweisungen aus, um den globalen Zeichensatz und die Sortierungseinstellungen zu überprüfen:
mysql> show variables like '%colla%'; mysql> show variables like '%charac%';
Stellen Sie sicher, dass Sowohl Zeichensatz als auch Sortierung sind auf eingestellt utf8mb4.
Auswirkungen der Korrektur:
Die Verwendung von utf8mb4 erhöht den unterstützten Zeichenbereich und beseitigt die Fehler „Falscher Zeichenfolgenwert“ für E-Mail-Adressen mit erweiterte Zeichen. Es kann auch die Kompatibilität der Datenbank mit internationalen Daten und zukünftigen Unicode-Standards verbessern.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich immer noch die Fehlermeldung „Falscher Zeichenfolgenwert' in meiner UTF-8-MySQL-Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!