我正处于尝试将Google Sheets中的一些数据移动到MySQL数据库的初始阶段。我从一张包含一些用户数据的工作表开始。我将工作表保存为csv,然后通过MySQL Workbench的表导入向导选择该csv。
当我这样做时,我收到以下错误:
未处理的异常:"ascii"编解码器无法解码位置中的字节0xc3178:序号不在范围内(128(
一些初步的故障排除向我透露,我认为问题是名称中的一个字符——一个名为Aimée的法国用户。根据错误消息,我一直试图在下载为csv之前将谷歌表单数据转换为utf-8(而不是ASCII(,但我读到的所有内容似乎都表明,简单地下载为.csv就可以解决问题。
复制步骤:
- 以.csv格式下载Google Sheet
- 打开MySQL Workbench并选择现有表
- 选择表数据导入向导
- 出现提示时,选择我刚刚保存为源文件的.csv文件
- 选择MySQL数据库中的现有表作为目标表
- 单击";接下来";,并接收错误
这里可能有两个错误。假设你想要一个";acute-e";,您得到的是这样的十六进制C3A9
的utf8编码。然后,因为有东西在期待腹水,它抱怨C3
。
如果您有一个现有的MySQL表,请执行SHOW CREATE TABLE
检查列的字符集。如果列没有字符集,则表的DEFAULT CHARACTER SET
将接管。我怀疑其中一个是";ascii";。
将其更改为utf8mb4
。
如果您遇到进一步的问题,这可能会派上用场:UTF-8字符的问题;我看到的不是我存储的