Mysql
 sql >> Base de données >  >> RDS >> Mysql

UnicodeEncodeError :le codec 'latin-1' ne peut pas encoder le caractère

J'ai rencontré ce même problème lors de l'utilisation du module Python MySQLdb. Étant donné que MySQL vous permet de stocker à peu près toutes les données binaires que vous souhaitez dans un champ de texte, quel que soit le jeu de caractères, j'ai trouvé ma solution ici :

Utiliser UTF8 avec Python MySQLdb

Edit :Citez l'URL ci-dessus pour satisfaire la demande dans le premier commentaire...

"UnicodeEncodeError :le codec 'latin-1' ne peut pas encoder le caractère..."

En effet, MySQLdb essaie normalement de tout coder en latin-1. Cela peut être résolu en exécutant les commandes suivantes juste après avoir établi la connexion :

db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')

"db" est le résultat de MySQLdb.connect() , et "dbc" est le résultat dedb.cursor() .