2017-04-03 106 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(),它可以正常工作。