问题描述: 在使用 MySQL Workbench 8.0 CE
使用表数据导出向导
进行导出表数据到CSV的时候出现如下错误:
Traceback (most recent call last):
File "C:\Program Files\MySQL\MySQL Workbench 8.0 CE\workbench\wizard_progress_page_widget.py", line 197, in thread_work
self.func()
File "C:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules\sqlide_power_export_wizard.py", line 273, in start_export
retval = self.module.start(self.stop)
File "C:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules\sqlide_power_import_export_be.py", line 302, in start
ret = self.start_export()
File "C:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules\sqlide_power_import_export_be.py", line 398, in start_export
output.writerow(row)
UnicodeEncodeError: 'cp950' codec can't encode character '\xa0' in position 99: illegal multibyte sequence
ERROR: Export data to file: 'cp950' codec can't encode character '\xa0' in position 99: illegal multibyte sequence
Failed
原因分析: 由于文件windows默认和文件输出的数据编码不一致造成错误。
解决办法:(针对导出)
有人说更改字符集之类的,开始我也是这么想办法,后来放弃。最终的解决方式是,不使用Table Data Export Wizard
功能(右键点击表名,导出表数据),直接查出来所有数据,之后使用结果中的导出,再导出即可。
解决办法:(针对导入) 参考资料:点击这里
本文主要介绍是导出的时候出现的该错误,如果是导入的时候可以尝试:
- 用MySQL Workbench里的
Table Data Export Wizard
功能,把某一个正常的table导出来一份csv数据。 - 用Notepad++ 查看该csv的编码方式是什么(编码A)
- 然后想办法将所要导入的csv编码(编码B)把编码B转换成Y
- 尝试导入该转码后的csv。
注:本文原创由 bluetata
发布于https://bluetata.blog.csdn.net/、转载请务必注明出处。