2017-04-03 107 views
0

我有這個保存爲一個腳本RStudio:R或RStudio不承認中國文字

a <- "中文" 
print(a) 

當我運行它,我得到這個錯誤:

Error in source("C:/Users/Rafael/Desktop/test.R", encoding = "UTF-8", : 
    C:/Users/Rafael/Desktop/test.R:21:6: unexpected INCOMPLETE_STRING 
20: 
21: a <- " 
     ^
In addition: Warning message: 
In readLines(file, warn = FALSE) : 
    invalid input found on input connection 'C:/Users/Rafael/Desktop/test.R' 

這是sessionInfo():

R version 3.3.3 (2017-03-06) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

locale: 
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C       
[5] LC_TIME=English_United States.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] tools_3.3.3 

編輯:當我運行使用上RStudio Source按鈕,如果我突出顯示文本塊,並選擇運行,那麼概率這隻發生lem不會持續。

+0

在我的機器上運行時沒有錯誤。嘗試重新啓動R,如果這不起作用,請提供'sessionInfo()' – MichaelChirico

+0

增加'sessionInfo()' –

+0

我得到相同的錯誤。如果您從控制檯運行這兩行,它按預期工作。如果你在沒有指定編碼的情況下「輸入」它,它會讀取文件,運行,但是會打印「ä¸æ-‡''。據我所知,RStudio將腳本保存爲「UTF-8」。很奇怪。 –

回答

3

這似乎是Windows/UTF-8編碼問題。如果您使用eval(parse('test.R', encoding = 'UTF-8'))而不是source(),它可以正常工作。