上記のリンクのみで受け入れられる回答を拡張するには、現在のpymysql
で次の変更を検討してください。 インストール。 MySQL 8では、mysql-python APIはおそらく新しい文字セットを認識しないため、発生したKeyError
。
解決するには、 connectedors.pyを見つけます pymysql
の下のスクリプト このディレクトリにあるモジュール:
print(pymysql.__file__)
元のconnectors.pyをバックアップします 脚本。次に、次の変更を組み込みます。
オリジナル (1268〜1269行目)
self.server_language = lang
self.server_charset = charset_by_id(lang).name
交換 (1268〜1272行目)
self.server_language = lang
try:
self.server_charset = charset_by_id(lang).name
except KeyError:
self.server_charset = None
上記の行のインデントに非表示のタブを含めるように注意してください。
参照