我目前正在开发一个需要为公司进行大量数据迁移的项目。我们正在计划和测试从现有Access数据库到他们将使用的CRM的MySQL数据库的数据导入。
我们遇到了以.csv格式导入(使用Load Data Infile)导出数据的错误,当记录带有重音或由于导入的文件为ANSI格式而导致特殊字符时(MySQL数据库的其余部分全部在UTF8)。我设法通过在Notepad ++中使用转换为UTF8功能来修复此问题,但这是在我知道我们需要导入Access数据库中的现有主键ID之前。
使用添加的ID执行相同的过程会导致抛出MySQL错误:
Error Code: 1366. Incorrect integer value: '135' for column 'id' at row 1
有没有办法将所有这些数据转换为UTF8而不会产生整数值抛出错误?
答案 0 :(得分:1)
将文件转换为 UTF-8无BOM ,然后重试:)
诀窍是,在UTF-8文件的开头有一个BOM sequence,你文件开头的数字135实际上是0xEF
0xBB
0xBF
1
3
5
导致TSV导入程序错误的原因是不知道UTF-8。