Unicode dan Pengekodan dalam Python dan MySql
Apabila berurusan dengan data Unicode, Python dan MySQL memerlukan pertimbangan pengekodan yang teliti untuk mengelakkan ralat seperti yang anda temui. Mesej ralat mencadangkan bahawa aksara dalam data JSON anda tidak dikodkan dengan betul untuk storan dalam jadual MySQL anda.
Untuk menangani isu ini, anda mempunyai dua pilihan:
Mengubah suai Jadual Pangkalan Data:
Mengendalikan Pengekodan dalam Python:
Berikut ialah segmen kod Python yang dikemas kini yang menggabungkan argumen 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))
Pastikan pembolehubah pangkalan data anda juga ditetapkan dengan betul. Pembolehubah character_set_database hendaklah ditetapkan kepada utf8 agar sepadan dengan tetapan jadual dan sambungan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangani Isu Unicode dan Pengekodan Apabila Bekerja dengan Python dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!