2014-09-08 3 views
0

Я работаю с некоторыми специальными символами в 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 
+1

Может быть, эта ссылка 'http: // stackoverflow.com/questions/23324872/rstudio-not-picking-the-encoding-im-tell-it-to-use-when-reading-a-file' помогает – akrun

+0

Спасибо akrun. Я видел эту страницу. Это не сработало для меня. –

ответ

1

Это не является исключительно RStudio проблемой.

Ввод текста print("Safarzyńska2013") на консоли RGui также преобразует их в простые буквы. Запуск этого кода из кодированного UTF-8 скрипта в RGui возвращает [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 не имеют также никаких намеков ...

Смежные вопросы