Mein System: win7 ultimative 64 englische Version + r-3.1 (64).
Hier ist meine SessionInfo.
> sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
LC_MONETARY=English_United States.1252 LC_NUMERIC=C
LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
1.kann kein chinesisches Zeichen in r Konsole eingeben
Wenn ich ein chinesisches Zeichen in die r-Konsole eingebe, wird es zu einem verstümmelten Zeichen.
2.can kann chinesisches Zeichen auf der r Konsole nicht anzeigen
Wenn ich Daten in r Konsole lese, wird das chinesische Zeichen zu einem verstümmelten Zeichen.
Sie können die Daten herunterladen und mit testen
read.table("r1.csv",sep=",")
Bitte sehen Sie sich die Grafik an, um die Daten herunterzuladen, wenn Sie nicht wissen, wie Sie die Daten aus meinem Internet beziehen können.
Wie kann ich meinen PC so einstellen, dass er chinesische Schriftzeichen in der Konsole richtig anzeigt und eingibt? Ich habe das chinesische Sprachpaket aktualisiert und aktiviert, aber das Problem bleibt bestehen.
Antworten:
4 für die Antwort № 1Es ist wahrscheinlich nicht sehr gut dokumentiert, aber Sie möchten es verwenden setlocale
um Chinesisch zu benutzen. Und die Methode gilt auch für viele andere Sprachen. Die Lösung ist nicht offensichtlich, wie das offizielle Dokument von setlocale
hat es nicht ausdrücklich als eine Methode zur Lösung der Anzeigeprobleme erwähnt.
> print("ÊÔÊÔ") #试试, meaning let"s give it a shot in Chinese
[1] "ÊÔÊÔ" #won"t show up correctly
> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
> Sys.setlocale(category = "LC_ALL", locale = "chs") #cht for traditional Chinese, etc.
[1] "LC_COLLATE=Chinese_People"s Republic of China.936;LC_CTYPE=Chinese_People"s Republic of China.936;LC_MONETARY=Chinese_People"s Republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese_People"s Republic of China.936"
> print("试试")
[1] "试试"
> read.table("c:/CHS.txt",sep=" ") #Chinese: the 1st record/observation
V1 V2 V3 V4 V5 V6
1 122 第一 122 条 122 记录
Wenn Sie nur die Anzeigecodierung ändern möchten, ohne andere Aspekte von Gebietsschemata zu ändern, verwenden Sie LC_CTYPE
Anstatt von LC_ALL
:
> Sys.setlocale(category = "LC_CTYPE", locale = "chs")
[1] "Chinese_People"s Republic of China.936"
> print("试试")
[1] "试试"
Das gilt natürlich nur für den Offiziellen R
Konsole. Wenn Sie andere IDEs verwenden, wie die sehr beliebten RStudio
Sie müssen das überhaupt nicht tun, um Chinesisch eingeben und anzeigen zu können, selbst wenn das chinesische Gebietsschema nicht geladen wurde.
Wenn die Daten immer noch nicht korrekt angezeigt werden, sollten wir auch das Problem der Dateicodierung untersuchen. Wenn die Datei ist utf-8
codiert, gleich data <- read.table("you_file", sep=",", fileEncoding="utf-8-BOM", header=TRUE)
oder fileEncoding="utf-8"
wird tun, hängt davon ab, welche Codierung es wirklich hat.
Aber du solltest dich vielleicht fern halten UTF-BOM
wie es nicht empfohlen wird: Was ist utf-8 und utf-8 ohne BOM?