unicode y codificando en python y mysql
cuando se trata de datos de unicode, python y mysql requieren una consideración cuidadosa de codificar para evitar errores como el que se encuentra. El mensaje de error sugiere que los caracteres de sus datos JSON no se están codificando correctamente para el almacenamiento en su tabla mysql.
para abordar este problema, tiene dos opciones:
modificando la tabla de la base de datos:
Manejo de codificación en Python:
Aquí hay un segmento de código Python actualizado que incorpora el argumento de Charset:
cur = conn.cursor () cur.execute ("Establecer nombres UTF8") Cur.Execute ("Inserte en Yahoo_Questions (Question_id, Question_Subj, Question_Content, Question_UserID, Question_Timestamp", "Category_id, Category_Name, Eleged_anSwer, Elegen_UserID, ENDEWSOSD_USERNICK, ENDEDED_ANS_TIMESTAMP)" "Valores ( %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", (fila [2], fila [5] .Encode ('utf-8'), fila [6] .Encode ('UTF-8'), QUSERID, TIEMPO DE CUESTIÓN, categoryId, categoryName, qchosenanswer.encode ('utf-8'), DowosseUserID, ChoosennickName, ChoosEntimEtamp))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))Asegúrese de que las variables de su base de datos también estén correctamente configuradas. La variable caracteres_set_database debe establecerse en UTF8 para que coincida con la configuración de la tabla y la conexión.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3