Не английский (иврит) вывод в консоли RStudio

Следующий тест отлично работает на моем ноутбуке, но выдает ошибку на моем HP EliteOne 800 под управлением Windows 10.

H <- "שלום"

H

В автомате с проблемой попадаю

[1] "ùìåí"

Я тестировал несколько кодировок, например

Encoding(H)  <- "ISO-8859-1"

что дает тот же результат, и

Encoding(H)<-"UTF-8"
H

что производит

[1] "\ xf9 \ xec \ xe5 \ xed"

Ниже приведен ответ на

sessionInfo()

R версия 3.2.2 (14 августа 2015 г.) Платформа: x86_64-w64-mingw32 / x64 (64-разрядная) Работает под: Windows 8 x64 (сборка 9200)

языковой стандарт: [1] LC_COLLATE = Hebrew_Israel.1255 LC_CTYPE = Hebrew_Israel.1255 LC_MONETARY = Hebrew_Israel.1255 [4] LC_NUMERIC = C
LC_TIME = Hebrew_Israel.1255

прилагаемые базовые пакеты: [1] статистика графики grDevices utils
наборы данных методы база

загружен через пространство имен (и не прикреплен): [1] tools_3.2.2

Любая помощь будет оценена,

Ави


person Avi Kluger    schedule 10.12.2015    source источник
comment
Это может помочь   -  person Rich Scriven    schedule 10.12.2015
comment
Похоже, у вас не установлены правильные шрифты для поддержки этой кодировки. Когда я вставляю первую строку кода в консоль Mac, она отображается правильно. Мой моноширинный шрифт - Courier. Необходимая информация должна быть доступна с help(pac=grDevices)   -  person IRTFM    schedule 10.12.2015


Ответы (1)


Спасибо, Ричард, вы привели меня к решению, которое работает - хотя я не понимаю, почему. Я играл с разными кодами, случайно изменил свой язык на японский, и он работает. Затем я протестировал различные другие локали, и они сделали тот же трюк. Если кто-нибудь знает, почему иврит не работает с языковым стандартом иврита, я хотел бы знать. Ниже приведен код и его продукт:

H <- "שלום"
H
Sys.getlocale()

Sys.setlocale("LC_ALL", "Hebrew")

H <- "שלום"
H
Sys.getlocale()

Sys.setlocale("LC_ALL", "ja")
H <- "שלום"
H

Sys.setlocale("LC_ALL", "Portuguese_Brazil.1252")
H <- "שלום"
H

Sys.setlocale("LC_ALL", "German")
H <- "שלום"
H produces the following output, where only the Hebrew locale does not show Hebrew.

H <- "שלום"

H

> [1] "НЕТ" # ПРОБЛЕМА НА ИВРЕЙСКОМ ЯЗЫКЕ

Sys.getlocale ()

[1] "LC_COLLATE = Hebrew_Israel.1255; LC_CTYPE = Hebrew_Israel.1255; LC_MONETARY = Hebrew_Israel.1255; LC_NUMERIC = C; LC_TIME = Hebrew_Israel.1255"

Sys.setlocale ("LC_ALL", "иврит")

[1] "LC_COLLATE = Hebrew_Israel.1255; LC_CTYPE = Hebrew_Israel.1255; LC_MONETARY = Hebrew_Israel.1255; LC_NUMERIC = C; LC_TIME = Hebrew_Israel.1255"

H <- "שלום" H

> [1] "НЕТ" # ПРОБЛЕМА НА ИВРЕЙСКОМ ЯЗЫКЕ

Sys.getlocale ()

[1] LC_COLLATE = Hebrew_Israel.1255; LC_CTYPE = Hebrew_Israel.1255; LC_MONETARY = Hebrew_Israel.1255; LC_NUMERIC = C; LC_TIME = Hebrew_Israel.1255 "

Sys.setlocale ("LC_ALL", "ja")

[1] "LC_COLLATE = Japanese_Japan.932; LC_CTYPE = Japanese_Japan.932; LC_MONETARY = Japanese_Japan.932; LC_NUMERIC = C; LC_TIME = Japanese_Japan.932"

> H ‹-" שלום " # РЕШЕНИЕ НА ДРУГИХ ЯЗЫКАХ, КОТОРЫЕ РАБОТАЕТ - ТАКЖЕ СМОТРИТЕ НИЖЕ

H

[1] "שלום"

Sys.setlocale ("LC_ALL", "Portuguese_Brazil.1252") [1] "LC_COLLATE = Portuguese_Brazil.1252; LC_CTYPE = Portuguese_Brazil.1252; LC_MONETARY = Portuguese_Brazil.1252; LC_NUMERIC = C; LC_TIME = Portuguese_Brazil.1252"

H <- "שלום"

H

[1] "שלום"

Sys.setlocale ("LC_ALL", "German") [1] "LC_COLLATE = German_Germany.1252; LC_CTYPE = German_Germany.1252; LC_MONETARY = German_Germany.1252; LC_NUMERIC = C; LC_TIME = German_Germany.1252"

H <- "שלום"

H

[1] "שלום"

person Avi Kluger    schedule 12.12.2015