我在 LOAD DATA LOCAL INFILE 加载 utf8 文件时遇到问题。 查询看起来像这样:
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE artikel CHARACTER SET UTF8
FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
但带有特殊字符如“Dämmung”的字段将被截断为“D”。
SHOW VARIABLES LIKE '%_set_%';
显示全部设置为utf8,我还用notepad++确认文件是utf8。
这真的很有帮助,如果有人知道建议,这是一个巨大的文件,我想避免手动输入错误的字段:-/
最佳答案
我遇到了同样的问题。 有一个“hack”可以解决这个问题:使用 UTF8 维护所有内容。异常(exception)情况是“LOAD DATA LOCAL ....”。当我使用 LATIN1 而不是 UTF8 时,它工作正常。
关于带有特殊字符的 MySQL LOAD DATA INFILE 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378272/