我正在使用Rstudio中的一些特殊字符。它将它们转换成普通字母。
print("Safarzyńska2013")
[1] "Safarzynska2013"
x <- "Māori"
x
[1] "Maori"
有没有办法阅读确切的原始字符。 以下信息可能会有所帮助: Rstudio默认编码为UTF-8
sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
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.1.1
答案 0 :(得分:1)
这不是一个专门的RStudio问题。
在RGui的控制台上键入print("Safarzyńska2013")
也会将它们转换为普通字母。从RGui中的UTF-8编码脚本运行此代码将返回[1] "Safarzy?ska2013"
。
我不认为在控制台上输入这样的特殊字符是个好主意。 x <- "SomeString"; Encoding(x)
返回"unknown"
,这可能是问题:R不知道您在控制台上使用的是什么编码,可能没有机会获得原始编码。
我将“Safarzyńska2013\nMāori\ n”放在用UTF-8编码的文本文件中。然后以下工作正常:
tbl <- read.table('c:/test1.txt', encoding = 'UTF-8', stringsAsFactors = FALSE)
tbl[1,1]
tbl[2,1]
Encoding(tbl[1,1]) # returns "UTF-8"
如果你真的想使用控制台,你可能需要屏蔽特殊的字符。在?Encoding
中,我们找到以下示例来创建具有特殊字符的单词:
x <- "fa\xE7ile"
Encoding(x)
实际上我现在还不知道如何为你的特殊字符获取这些代码,?Encoding
也没有提示......
答案 1 :(得分:0)
转到RStudio的标签文件,然后单击“保存编码”,然后选择“编码”。 UTF-8,设置为源文件的默认编码并保存。
希望这会有所帮助