Mac下MySQL Workbench导入CSV报ASCII解码错误求永久解决方法
遇到的错误:
Unhandled exception: 'ascii' codec can't decode byte 0xc3 in position 1022: ordinal not in range(128)
Check the log for more details.
以下是无需跨系统的永久解决办法:
强制指定导入文件编码
在MySQL Workbench的导入向导中,走到「Specify Import Options」步骤时,不要用默认的「Auto Detect」字符集,手动选择utf8mb4(推荐,支持所有Unicode字符)或utf8后继续导入。自动检测经常会把带特殊字符的UTF-8文件误判为ASCII,引发解码失败。用CotEditor保存无BOM的UTF-8文件
之前转UTF-8可能带了BOM(字节顺序标记),Windows Excel会自动忽略BOM,但MySQL Workbench对带BOM的UTF-8文件兼容性差。打开CotEditor后,点击「文件」→「编码」,选择「UTF-8(无BOM)」重新保存文件,再尝试导入。用终端命令清理并转换编码
如果文件存在无效UTF-8字符,用iconv命令强制清理转换:iconv -f UTF-8 -t UTF-8 -c 你的输入文件名.csv > 处理后的文件名.csv-c参数会自动删除无法识别的无效字符,确保文件是纯净的UTF-8编码。检查Workbench全局编码设置
打开MySQL Workbench,点击「编辑」→「偏好设置」→「SQL编辑器」,把「Default character set」设为utf8mb4,重启Workbench后再操作,确保全局编码与文件编码匹配。
内容的提问来源于stack exchange,提问作者Tereza Pávková

