UTF-8 Dateiausgabe in R

8

Ich verwende R 2.15.0 unter Windows 7 64-Bit. Ich möchte Unicode (CJK) Text in eine Datei ausgeben.

Der folgende Code zeigt, wie ein Unicode-Zeichen, das zum Schreiben auf eine UTF-8-Dateiverbindung gesendet wird, nicht wie erwartet funktioniert:

%Vor%

Wie die Ausgabe von scan zeigt:

%Vor%

Die Datei wurde nicht mit dem UTF-Zeichen selbst geschrieben, sondern mit einer Art ANSI-konformem Fallback. Kann ich es beim ersten Mal richtig machen lassen (dh mit einer Textdatei, die stattdessen "在" enthält), oder kann ich etwas extra Magie anwenden, um die Ausgabe in Unicode zu konvertieren, wobei das richtige Zeichen die Codezeichenfolge ersetzt?

Danke.

[Weitere Informationen: Derselbe Code verhält sich richtig in Cygwin, R 2.14.2, während 2.14.2 auf Win7 ebenfalls defekt ist. Ist das irgendwo an meinem Ende?]

    
Patrick 20.05.2012, 16:56
quelle

4 Antworten

8

Speichert UTF-8 Zeichenfolgen in einer Textdatei:

%Vor%     
beloblotskiy 05.05.2013, 15:11
quelle
9

Das Problem ist aufgrund eines R-Windows-Spezialverhaltens (mit der Standard-Systemcodierung / oder mit einigen Systemschreibfunktionen; ich kenne die Besonderheiten aber nicht Verhalten ist eigentlich bekannt)

Um Text UTF8 Kodierung unter Windows zu schreiben, muss man die useBytes=T Optionen in Funktionen wie writeLines oder readLines verwenden:

%Vor%     
petermeissner 26.08.2014 13:25
quelle
0

Ich denke, Sie haben Probleme, weil write so konstruiert ist, dass es den Namen eines Objekts annimmt und Sie anscheinend kein solches benanntes Objekt erstellt haben. Versuchen Sie es stattdessen:

%Vor%     
42- 20.05.2012 21:31
quelle
0

Ich habe ein solches Problem mit UTF-8-Strings, die von DB kommen.

Die einzige Möglichkeit, sie korrekt zu speichern, ist das Speichern der Datei im Binärmodus.

%Vor%     
beloblotskiy 21.04.2013 10:41
quelle

Tags und Links