2016-07-15 51 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

相關問題