2016-07-15 10 views
0

Ich schreibe die Daten von paypal in eine CSV-Datei geschrieben und dann laden Sie diese CSV-Datei in MySQL-Datenbank.nodejs- mysql ungültig utf8 characer string lade Daten in Datei

Ein Teil der Daten von Paypal zurückgegeben:% f0% 9f% 98% 9d% 2e Welche ich dann dekodieren mit Dekoderikomponente zu ðŸ~. , wenn ich diese speichern, um Ladedaten in der Datei Datei und zu tun gibt es mysql Fehler:

Invalid utf8 character string

die Ladedaten in Datei Abfrage:

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

Die Zusammenstellung von Datenbanken, Tabellen und Spalten utf_general_ci ist

Also habe ich versucht, die Daten von paypal

mit
utf8.encode("😠.") 
zurück kodiert

Und dann in der Datei gespeichert. Aber es wurde nicht korrekt codiert.

Danach haben die Ladedaten in der Datei keinen Fehler zurückgegeben, aber die in der Spalte gespeicherten Daten waren ð. Was ist falsch.

Wie kann ich die Zeichenfolge korrekt codieren, damit sie in die Tabelle geladen werden kann?

Link zu Dateien:

http://speedy.sh/RMu5M/note.csv (codiert)

http://speedy.sh/ajrQj/notenonencoded.csv (nicht-codierte)

Antwort

1

Für (hex f09f989d), müssen Sie MySQL utf8mb4, nicht UTF-8. Verwenden Sie das in der Tabelle und in der Verbindung.

+0

Das Problem war, ich wusste nicht, dass es ein Emoji war. Vielen Dank :) – Sarita