【发布时间】:2014-02-18 03:19:55
【问题描述】:
我在 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。
这真的很有帮助,如果有人知道建议,这是一个巨大的文件,我想避免手动输入错误的字段:-/
【问题讨论】:
-
您需要将连接、数据库、表和列的编码设置为与CSV文件中保存的数据相同的字符集。
-
@SathishD:不,你没有——但即使你这样做了,OP 声明所有字符集变量都已经设置为 utf8。虽然如果列编码不支持文件中的所有字符(不必与文件的编码相同),数据很可能会被截断。
-
感谢您的快速解答!原因是我的选择查询没有正确更新表格,所以上面的查询是正确的。对不起,我的错
-
我也遇到了同样的问题。命令与上面完全相同。但是,所有法语字符总是会被截断,从而使数据变得不完整。 CSV 文件已经是 UTF-8,表排序规则是 utf8_general_ci。
标签: mysql utf-8 special-characters