Saya mengalami masalah yang sama saat menggunakan modul Python MySQLdb. Karena MySQL akan membiarkan Anda menyimpan hampir semua data biner yang Anda inginkan dalam bidang teks terlepas dari kumpulan karakter, saya menemukan solusi saya di sini:
Menggunakan UTF8 dengan Python MySQLdb
Sunting:Kutipan dari URL di atas untuk memenuhi permintaan di komentar pertama...
"UnicodeEncodeError:'latin-1' codec tidak dapat menyandikan karakter ..."
Ini karena MySQLdb biasanya mencoba untuk mengkodekan semuanya ke latin-1. Ini dapat diperbaiki dengan menjalankan perintah berikut tepat setelah Anda membuat koneksi:
db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')
"db" adalah hasil dari
MySQLdb.connect()
, dan "dbc" adalah hasil daridb.cursor()
.