在Rstudio中使用特殊字符

时间:2014-09-08 10:42:57

标签: r encoding rstudio

我正在使用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

2 个答案:

答案 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,设置为源文件的默认编码并保存。

希望这会有所帮助