2013-07-30 194 views
7

在StatET蝕以及在RStudio我StatET設置編碼魔族德國特殊字符

options(encoding = "ISO-8859-1") 

我:

Sys.getlocale() 
[1] "LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252" 

在RStudio相同:

Sys.getlocale() 
[1] "LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252" 

所有在同一臺計算機上同時運行,但具有相同的輸入(在兩種情況下直接輸入到控制檯),我得到dif不同的結果。

RStudio:

strsplit("GRÜN", "") 
[[1]] 
[1] "G" "R" "Ü" "N" 

StatET:

strsplit("GRÜN", "") 
[[1]] 
[1] "G" "R" "Ã" " "N" 

問:還有什麼我需要時,除了設置Sys.setlocale()encoding使兩個系統產生相同的結果呢?

回答

0

我不是這方面的專家,但如果你在Windows上,我懷疑它是系統區域設置。在這種情況下,請轉到: 控制面板 - >區域和語言 - >管理 - >更改系統語言環境[非Unicode代碼]

我已將所有設置設置爲與我的計算機上的俄語一起使用,一切,但是當我想你的代碼,我得到這個:

Sys.setlocale("LC_CTYPE","german") 
strsplit("GRÜN", "") 
[[1]] 
[1] "G" "R" "Ь" "N" 

所以很明顯Rstudio是混淆的元音和俄羅斯軟的跡象,這是一件好事的Windows經常做。

+0

感謝您的回覆,雖然沒有真正回答我的問題。由於locale選項對於RStudio和StatET都是一樣的,所以輸出的差別必然是由於別的東西造成的...... – adibender

+0

sure thing =)儘管如此,我還是試了一下 - 有些程序依靠Windows來顯示非拉丁字符,而另一些則沒有。 –