2016-07-15 55 views
0

我将从paypal返回的数据写入csv文件,然后将此csv文件加载到mysql数据库中。nodejs- mysql无效utf8 characer字符串加载文件中的数据

从Paypal返回的数据的一部分:%f0%9f%98%9d%2e 然后我使用decodeuricomponent解码ðŸ~。 当我保存这文件,并在文件中做负载数据它给MySQL错误:

Invalid utf8 character string

在档案查询的负载数据:

LOAD DATA LOCAL INFILE 'note.csv' REPLACE INTO TABLE table1 CHARACTER SET UTF8 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' (note) 

数据库,表和列的排序规则是使用

utf8.encode("😠.") 
从贝宝utf_general_ci

所以我试图对数据进行编码返回

然后将其保存到文件。但它没有正确编码。

之后,文件中的加载数据没有返回任何错误,但保存在列中的数据是ð。这是不正确的。

我如何正确编码字符串,以便它可以加载到表中。

链接到文件:

http://speedy.sh/RMu5M/note.csv(编码)

http://speedy.sh/ajrQj/notenonencoded.csv(非编码)

回答

1

对于(十六进制f09f989d),你需要MySQL的utf8mb4,不是UTF8。在表格和连接中使用它。

+0

问题是我不知道这是一个表情符号。谢谢 :) – Sarita