Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql ';拉丁语-1';编解码器可以';t编码字符u'\u2014和x27;位置23:序号不在范围内(256)_Mysql_Excel_Utf 8_Pandas_Latin1 - Fatal编程技术网

Mysql ';拉丁语-1';编解码器可以';t编码字符u'\u2014和x27;位置23:序号不在范围内(256)

Mysql ';拉丁语-1';编解码器可以';t编码字符u'\u2014和x27;位置23:序号不在范围内(256),mysql,excel,utf-8,pandas,latin1,Mysql,Excel,Utf 8,Pandas,Latin1,我正在将数据从excel工作簿加载到pandas数据框中,并在出现上述错误时尝试将其推送到数据库中 起初我认为数据库的排序有问题,我改为utf8_-bin 接下来,我检查了数据库引擎create语句,并为编码添加了一个参数 engine = create_engine('mysql+pymysql://root@localhost/test', encoding="utf-8") 但这两种方法都不起作用,我仍然从线路中得到错误: df.to_sql("strand", engine, if_e

我正在将数据从excel工作簿加载到pandas数据框中,并在出现上述错误时尝试将其推送到数据库中

起初我认为数据库的排序有问题,我改为utf8_-bin

接下来,我检查了数据库引擎create语句,并为编码添加了一个参数

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添加到查询字符串以及编码变量中,这导致我最终使用引擎create语句

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

非常感谢您发布自己的答案。我花了很多时间来弄清楚这一点。现在它工作了!