2013-12-13 2 views
1

У меня есть некоторые специальные символы в моем файле UTF-8 .R, и попытка запустить код в виде файла в командной строке R возвращает unexpected INCOMPLETE_STRING.Как установить юникод в R?

Между тем, код работает нормально, строчно, например, в RStudio или Eclipse.

Я предлагаю мне нужно изменить локаль через Sys.setlocale(locale=), но все мои попытки (в том числе ответов SO), чтобы найти правильный locale параметр для UTF-8 дали OS reports request to set locale to "UTF-8" cannot be honored. Я могу настроить что-то вроде Sys.setlocale(locale="English"), но это не поможет.

Как настроить «UTF-8» на Windows?

+0

Windows и cmd.exe и UTF-8 действительно не смешиваются. –

+0

@DavidHeffernan Windows и разработка программного обеспечения не смешиваются в целом. Но, может быть, есть какие-либо способы обхода файлов Unicode в R? В конце концов, это скромная потребность. –

+1

Нет, Windows - превосходная среда для разработки программного обеспечения. –

ответ

2

Я не думаю, что вам нужно изменить локали вашей R в UTF-8 (if that is even possible under windows)

source(..., locale="UTF-8") 

должен сделать трюк. Затем R-скрипт переводится в локальную локаль.

+0

Спасибо, но это возвращает 'неожиданный INCOMPLETE_STRING' мне. Ошибка указывает на строку, где сначала отображаются символы, отличные от ANSI. –

+1

Прямо сейчас у меня нет доступа к машине для Windows и т. Д. Однако я нашел следующий ответ, который может помочь: http://stackoverflow.com/questions/5031630/how-to-source-r-file-saved-using-utf-8-encoding –

+2

Спасибо, Ян. Это помогло. Я использовал 'eval (parse (filename, encoding =" UTF-8 "))', хотя это всего лишь обходной путь. –

-1

Я использовал stringrstr_to_lower функции пакета и она работала хорошо для меня. Больше никаких загадочных ошибок.

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