Falscher Zeichenfolgenwertfehler beim Speichern von Unicode-Zeichen in MySQL mit Django
Beim Versuch, Unicode-Zeichenfolgen im auth_user-Modell in Django zu speichern, haben Sie Möglicherweise wird die folgende Fehlermeldung angezeigt:
Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104
Potenziell Ursachen
Dieser Fehler wird typischerweise durch Folgendes verursacht:
Lösung
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
Ändern Sie die Datenbank, Tabelle und Spalten, um das Zeichen utf8mb4 zu verwenden set:
CREATE DATABASE db_name CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
ALTER TABLE auth_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Geben Sie den Zeichensatz in den Django-Einstellungen an:
In der Django-Einstellungsdatei (settings.py) , fügen Sie die folgende Zeile hinzu:
DATABASES = { 'default': { 'ENGINE':'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
Zusätzlich Überlegungen
Das obige ist der detaillierte Inhalt vonWie behebt man Fehler beim Speichern von Unicode in Django und MySQL durch „falsche Zeichenfolgenwerte'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!