'latin-1'编解码器不能编码字符u'\ u2014'在位置23:序号不在范围内(256)

我正在从Excel工作簿加载数据到一个pandas数据框,并试图将它推到数据库,当我得到上述错误。

我首先想到了数据库的sorting问题,我改成了utf8_bin

接下来,我检查了我的数据库引擎创build语句,我也为编码添加了一个参数。

engine = create_engine('mysql+pymysql://root@localhost/test', encoding="utf-8") 

但是这些东西都不起作用,我仍然从线上得到错误:

 df.to_sql("strand", engine, if_exists="append", index=False) 

我检查是否有to_sql方法的编码参数,但似乎并不是这样。

显然我需要添加?charset-utf8查询string以及编码variables导致我结束引擎创build语句

 engine = create_engine('mysql+pymysql://root@localhost/test?charset=utf8', encoding="utf-8")