LOAD DATA LOCAL INFILE-无效的utf8mb4字符串

时间:2018-08-06 16:12:47

标签: mysql utf8mb4

我正在尝试将this csv的俄罗斯巨魔推文发送到mysql数据库中。

我正在尝试像这样使用LOAD DATA LOCAL INFILE:

LOAD DATA LOCAL INFILE
'/path/to/csv/data.csv' 
INTO TABLE
mytable
CHARACTER SET
utf8mb4
FIELDS TERMINATED BY 
','
ENCLOSED BY 
'"'
LINES TERMINATED BY
'\n'
IGNORE 1 LINES;

这似乎只适用于一小部分数据,但是当我尝试执行完整的csv时,出现此错误:

  

错误1300(HY000):无效的utf8mb4字符串:“那些   研究过的历史知道这甚至都不被认为是历史。

抛出错误的行就是这个:

  

4036537452,4MYSQUAD,那些研究历史的人都知道,这甚至还不算是历史,因为这是最近的事。 #BlackHistoryMonth [此处省略了缩短的链接],美国,英语,2/8/2016 23:18,2 / 8/2016 23:20,4836,2802,1053,,left,0,0,LeftTroll

如果使用CHARACTER SET latin1,则可以正常导入,但是我从推文以及俄语的推文中都丢失了表情符号。

csv具有俄语,德语,瑞典语和表情符号的推文。有没有办法将所有这些都放入我的数据库?

谢谢,让我知道在这个问题上是否还有其他信息。

1 个答案:

答案 0 :(得分:1)

我最终进行了大量查找/替换,将每个'\'替换为'\\'。

像魅力一样工作。感谢marekful和Freddythunder使我走上正轨。