带有特殊字符的MySQL LOAD DATA INFILE问题

use*_*103 4 mysql utf-8 special-characters

我在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';
Run Code Online (Sandbox Code Playgroud)

但是像"Dämmung"这样的特殊字符的字段将被剪切为"D".

SHOW VARIABLES LIKE '%_set_%';
Run Code Online (Sandbox Code Playgroud)

显示它全部设置为utf8,我甚至使用notepad ++来确保文件是utf8.

这真的有帮助,如果有人知道建议,这是一个巨大的文件,我想避免手动输入错误的字段: - /

小智 6

这对我有用。

LOAD DATA LOCAL INFILE 'D:/File.csv'
INTO TABLE my_table
CHARACTER SET latin1 
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\' 
LINES TERMINATED BY '\r\n'
Run Code Online (Sandbox Code Playgroud)


Gus*_*ani 5

我遇到了同样的问题.有一个"黑客"可以解决这个问题:用UTF8保护一切.例外情况是"LOAD DATA LOCAL ....".当我使用LATIN1而不是UTF8时,它工作正常.