Exportieren von UTF-8-Stückliste in .csv in R

8

Ich lese eine Datei über RJDBC aus einer MySQL-Datenbank und zeigt alle Buchstaben in R korrekt an (z. B. ננוה שאנן). Aber auch beim Export mit write.csv und fileEncoding="UTF-8" sieht die Ausgabe so aus <U+0436>.<U+043A>. <U+041B><U+043E><U+0437><U+0435><U+043D><U+0435><U+0446> (in diesem Fall ist das nicht die obige Zeichenfolge, sondern eine bulgarische) für Bulgarisch, Hebräisch, Chinesisch und so weiter. Andere Sonderzeichen wie ã, ç usw. funktionieren gut.

Ich vermute, das liegt an UTF-8 BOM, aber ich habe im Internet keine Lösung gefunden

Mein Betriebssystem ist ein deutsches Windows7.

edit: Ich habe es versucht

%Vor%

und das (afaik) Äquivalent write.csv(x, file="file.csv",fileEncoding="UTF-8",row.names=FALSE) .

    
Arthur G 13.09.2011, 13:02
quelle

2 Antworten

5

Auf der Hilfeseite to Encoding ( help("Encoding") ) können Sie über spezielle Kodierung lesen - bytes .

Mit diesem konnte ich csv-Datei erzeugen durch:

%Vor%

Achten Sie auf Unterschiede zwischen factor und character . Folgendes sollte funktionieren:

%Vor%     
Marek 14.09.2011, 12:12
quelle
2

Die angenommene Antwort hat mir in einer ähnlichen Anwendung nicht geholfen (R 3.1 in Windows, während ich versuchte, die Datei in Excel zu öffnen). Wie auch immer, basierend auf diesem Teil der Datei Dokumentation:

  

Wenn eine Stückliste erforderlich ist (wird nicht empfohlen), sollte sie beim Schreiben explizit geschrieben werden, z. durch writeChar ("\ ufeff", con, eos = NULL) oder writeBin (as.raw (c (0xef, 0xbb, 0xbf)), binary_con)

Ich habe die folgende Problemumgehung gefunden:

%Vor%

Beachten Sie, dass df der data.frame und Dateiname der Pfad zur csv-Datei ist.

    
Ron 31.12.2016 11:56
quelle