Untuk memperluas jawaban yang hanya menerima tautan di atas, pertimbangkan perubahan berikut pada pymysql
Anda saat ini Install. Dengan MySQL 8, mysql-python API tidak mengenali set karakter yang mungkin lebih baru dan karenanya KeyError
yang dimunculkan .
Untuk mengatasinya, temukan connectors.py skrip di bawah pymysql
modul ditemukan di direktori ini:
print(pymysql.__file__)
Cadangkan connectors.py asli yang asli naskah. Kemudian sertakan perubahan berikut.
Asli (baris 1268-1269)
self.server_language = lang
self.server_charset = charset_by_id(lang).name
Ganti (baris 1268 - 1272)
self.server_language = lang
try:
self.server_charset = charset_by_id(lang).name
except KeyError:
self.server_charset = None
Berhati-hatilah untuk menyertakan tab tersembunyi dalam lekukan dengan baris di atas.
Referensi