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