Erreur de valeur de chaîne incorrecte lors de l'enregistrement de caractères Unicode dans MySQL avec Django
Lorsque vous essayez d'enregistrer des chaînes Unicode dans le modèle auth_user dans Django, vous peut rencontrer le message d'erreur suivant :
Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104
Potentiel Causes
Cette erreur est généralement provoquée par les éléments suivants :
Solution
Pour résoudre ce problème, suivez ces étapes :
Modifiez la base de données, la table et les colonnes pour utiliser le caractère utf8mb4 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;
Spécifiez le jeu de caractères dans les paramètres de Django :
Dans le fichier de paramètres de Django (settings.py) , ajoutez la ligne suivante :
DATABASES = { 'default': { 'ENGINE':'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
Supplémentaire Considérations
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!