Maison >base de données >tutoriel mysql >Comment corriger l'erreur « Valeur de chaîne incorrecte » de MySQL lors du stockage de chaînes Unicode dans Django ?
Lorsque vous essayez de stocker des chaînes Unicode dans MySQL à l'aide de Django, vous pouvez rencontrer un message d'erreur indiquant " Valeur de chaîne incorrecte." Ce problème survient en raison de la limitation de MySQL sur la taille des caractères Unicode dans le jeu de caractères utf-8.
Le jeu de caractères utf-8 de MySQL prend en charge un maximum de 3 octets par caractère. Cependant, certains caractères Unicode nécessitent 4 octets ou plus. Lorsque de tels caractères sont enregistrés, MySQL génère l'erreur « Valeur de chaîne incorrecte ».
Pour résoudre ce problème, vous devez mettre en œuvre les étapes suivantes :
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
PostgreSQL prend en charge le stockage des caractères Unicode de 4 octets dans le jeu de caractères utf8, contrairement à MySQL. Par conséquent, vous pouvez passer à PostgreSQL comme option plus appropriée pour gérer les chaînes Unicode avec des longueurs de caractères plus longues.
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!