Chcete-li rozšířit výše uvedenou odpověď přijatou pouze pomocí odkazů, zvažte následující změny ve svém aktuálním pymysql Nainstalujte. S MySQL 8, mysql-python API nerozpoznává možná novější znakové sady, a proto se objevila KeyError .
Chcete-li to vyřešit, vyhledejte connectors.py skript pod pymysql modul nalezen v tomto adresáři:
print(pymysql.__file__)
Zálohujte původní connectors.py skript. Poté zahrňte následující změny.
Původní (řádky 1268-1269)
self.server_language = lang
self.server_charset = charset_by_id(lang).name
Nahradit (řádky 1268–1272)
self.server_language = lang
try:
self.server_charset = charset_by_id(lang).name
except KeyError:
self.server_charset = None
Buďte opatrní, abyste zahrnuli skryté karty do odsazení s výše uvedenými řádky.
Reference