使用MySQL Workbench表导入向导导入CSV至MySQL数据库时遇编码错误
解决Google Sheets CSV导入MySQL Workbench时的ASCII解码错误
问题根源
错误Unhandled exception: 'ascii' codec can't decode byte 0xc3 in position 178: ordinal not in range(128)的核心原因是CSV文件编码非UTF-8,导致包含特殊字符(比如法语姓名里的é)的内容无法被ASCII解码,而MySQL Workbench默认解析逻辑会触发该错误。
可行解决方案
1. 确保Google Sheets导出UTF-8编码的CSV
- 打开目标工作表,点击「文件」→「下载」→「逗号分隔值(.csv)」,直接导出的文件即为UTF-8编码,不要用记事本打开修改(记事本会自动转成ANSI编码),直接用于导入。
- 如果导出后仍有问题,换路径操作:点击「文件」→「另存为」→「Google云端硬盘」,在云端硬盘右键该文件选择「下载」,确保编码保持UTF-8。
2. 导入时强制指定字符集
在MySQL Workbench的Table Data Import Wizard中:
- 选择CSV文件后,切换到「Advanced Options」
- 找到「Character Set」选项,选择
utf8mb4(推荐,支持全Unicode字符)或utf8 - 确认后继续导入流程
3. 提前修改目标表的字符集
如果目标表本身不是UTF-8编码,先执行SQL命令修改:
ALTER TABLE your_user_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
替换your_user_table为实际表名,再执行导入操作。
4. 手动转码CSV文件(如果导出文件编码异常)
用Notepad++打开CSV文件:
- 点击顶部菜单「编码」→「转为UTF-8编码」(不要选「UTF-8 BOM」)
- 保存文件后重新导入
内容的提问来源于stack exchange,提问作者BraveSamwise
相关产品推荐
相关产品推荐

