MySQL Workbench 5.7表数据导入向导导入UTF-8 CSV解码错误如何解决
解决方案
- 方法1:导入向导内直接指定编码
在Table Data Import Wizard选择CSV文件的配置页,找到Character Set下拉选择框,手动选择utf8或utf8mb4即可,不要使用默认自动检测的编码值。注意你用pandas默认导出的是无BOM的UTF8格式,不需要选择带BOM的编码选项。 - 方法2:修改pandas导出编码适配Workbench
将原导出代码的编码参数改为utf_8_sig,生成带BOM的UTF8文件,适配MySQL Workbench的编码检测逻辑:
导出后重新走导入流程即可,不需要额外修改Numbers的保存配置。pd.to_csv('path.csv', encoding='utf_8_sig', index=False) - 方法3:使用LOAD DATA命令手动导入(可控性更高)
先提前创建好对应结构的MySQL表,之后执行以下SQL命令完成导入,可直接指定编码避免解码错误:-- 先开启本地文件导入权限,提示权限报错时执行 SET GLOBAL local_infile = 1; LOAD DATA LOCAL INFILE '/你的本地文件绝对路径/path.csv' INTO TABLE 你的目标表名 CHARACTER SET utf8mb4 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 忽略CSV的表头行,无表头可删除该行
内容的提问来源于stack exchange,提问作者Allen Huang
相关产品推荐
相关产品推荐

