我想导入 CSV 文件,但收到错误
Invalid column count on line X
。当我检查 X 行时,我发现了一个特殊字符,例如 á é í ó ú
。当我将 á
替换为 a
时,导入将继续,直到另一行包含另一个特殊字符。
我想从 Maxmind 导入 Geoip,该列是包含该字符的城市列。
查看十六进制的
á é í ó ú
。如果每个都是一个字节,那么您可能有“latin1”编码。如果每个都是 2 个字节,那么您可能拥有 utf8。
在导入语句中,说明您拥有的字符集。 MySQL 将转换为为您要导入的列声明的字符集。
这些特定字符(具有不同编码)同时存在于 latin1 和 utf8 中。但如果您需要东方欧洲字符,请说出来;任务变得更加复杂。
解决方案是将
Character set of the file
的 IMPORT
更改为 iso-8859-15
该文件的字符集默认为UTF-8,并且它不接受这些字符。我说的是文件的字符集而不是列的排序规则