use*_*295 13 mysql csv utf-8 character-encoding import-csv
我想通过以下方式将.csv文件导入MySQL数据库:
load data local infile 'C:\\Users\\t_lichtenberger\\Desktop\\tblEnvironmentLog.csv'
into table tblenvironmentlog
character set utf8
fields terminated by ';'
lines terminated by '\n'
ignore 1 lines;
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误,我无法解释原因:
Error Code: 1300. Invalid utf8 character string: 'M'
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我尝试的其他任何东西都没有,包括确保我的.csv使用UTF-8编码保存.
这有效:
使用时LOAD DATA LOCAL INFILE
,请设置CHARACTER SET latin1
而不是CHARACTER SET utf8mb4
如https://dzone.com/articles/mysql-57-utf8mb4-and-the-load-data-infile中所示
这是一个适合我的完整示例:
TRUNCATE homestead_daily.answers;
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE homestead_daily.questions;
SET FOREIGN_KEY_CHECKS = 1;
LOAD DATA LOCAL INFILE 'C:/Users/me/Desktop/questions.csv' INTO TABLE homestead_daily.questions
CHARACTER SET latin1
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(type, question, created_at, updated_at);
SELECT * FROM homestead_daily.questions;
Run Code Online (Sandbox Code Playgroud)