Unicode et encodage en Python et MySql
Lors du traitement des données Unicode, Python et MySQL nécessitent un examen attentif de l'encodage pour éviter des erreurs telles que celui que vous avez rencontré. Le message d'erreur suggère que les caractères de vos données JSON ne sont pas correctement encodés pour le stockage dans votre table MySQL.
Pour résoudre ce problème, vous avez deux options :
Modifier le Table de base de données :
Gestion de l'encodage en Python :
Voici un segment de code Python mis à jour qui intègre l'argument charset :
cur = conn.cursor() cur.execute("SET NAMES utf8") cur.execute("INSERT INTO yahoo_questions (question_id, question_subj, question_content, question_userId, question_timestamp," +"category_id, category_name, choosen_answer, choosen_userId, choosen_usernick, choosen_ans_timestamp)" +"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", (row[2], row[5].encode('utf-8'), row[6].encode('utf-8'), quserId, questionTime, categoryId, categoryName, qChosenAnswer.encode('utf-8'), choosenUserId, choosenNickName, choosenTimeStamp))
Assurez-vous également que les variables de votre base de données sont correctement définies. La variable Character_set_database doit être définie sur utf8 pour correspondre aux paramètres de table et de connexion.
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!