RStudio控制台中的非英语(希伯来语)输出 [英] Non English (Hebrew) output in RStudio console

查看:121
本文介绍了RStudio控制台中的非英语(希伯来语)输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下测试在我的笔记本电脑上工作正常,但在运行Windows 10的HP EliteOne 800上却出现错误

H <- "שלום"

H

在出现问题的机器上

[1]ùìåí"

我测试了几种编码,例如

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

给出相同的输出,并且

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

产生

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

下面是对

的回复

sessionInfo()

R版本3.2.2(2015-08-14)平台:x86_64-w64-mingw32/x64(64位) 在以下环境中运行:Windows 8 x64(内部版本9200)

语言环境:[1] LC_COLLATE =希伯来语以色列1255 LC_CTYPE =希伯来语以色列1255 LC_MONETARY =希伯来语以色列.1255[4] LC_NUMERIC = C
LC_TIME =希伯来语以色列1255

附加的基本软件包:[1]统计图形grDevices utils
数据集方法基础

通过名称空间(未附加)加载:[1] tools_3.2.2

任何帮助将不胜感激,

阿维

解决方案

谢谢您,理查德,您将我引向了一个行之有效的解决方案-尽管我不明白为什么.我玩过各种代码,但不小心将语言环境更改为日语,并且有效.比我测试了其他各种语言环境,它们做的技巧相同.如果有人知道为什么希伯来语不能与希伯来语区域设置一起使用,我想知道.下面是代码及其产品:

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 =希伯来语以色列.1255; LC_CTYPE =希伯来语以色列.1255; LC_MONETARY =希伯来语以色列.1255; LC_NUMERIC = C; LC_TIME =希伯来语以色列.1255"

Sys.setlocale("LC_ALL",希伯来语")

[1]"LC_COLLATE =希伯来语以色列.1255; LC_CTYPE =希伯来语以色列.1255; LC_MONETARY =希伯来语以色列.1255; LC_NUMERIC = C; LC_TIME =希伯来语以色列.1255"

H<-שלום" 高

> [1]ùìåí" #希伯来语中的问题

Sys.getlocale()

[1] LC_COLLATE =希伯来语以色列.1255; LC_CTYPE =希伯来语以色列.1255; LC_MONETARY =希伯来语以色列.1255; LC_NUMERIC = C; LC_TIME =希伯来语以色列.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.2/p>

H<-שלום"

H

[1]שלום"

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

H<-שלום"

H

[1]שלום"

The following test works fine on my laptop, but produces an error on my HP EliteOne 800 running Windows 10

H <- "שלום"

H

In the machine with the problem I get

[1] "ùìåí"

I tested several encoding, such as

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

which gives the same output, and

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

that produces

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

Below is the response to

sessionInfo()

R version 3.2.2 (2015-08-14) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 8 x64 (build 9200)

locale: [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

attached base packages: [1] stats graphics grDevices utils
datasets methods base

loaded via a namespace (and not attached): [1] tools_3.2.2

Any help will be appreciated,

Avi

解决方案

Thank you Richard, you led me to a solution that works -- although I do not understand why. I played with various codes, and accidentally changed my locale to Japanese and it works. Than I tested various other locales and they do the same trick. If any one knows why the Hebrew does not work with Hebrew locale, I would like to know. Below is the code and its product:

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] "ùìåí" #THE PROBLEM IN HEBREW

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", "Hebrew")

[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] "ùìåí" #THE PROBLEM IN HEBREW

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 <- "שלום" #THE SOLUTION IN OTHER LANGUAGE THAT WORKS -- ALSO SEE BELOW

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] "שלום"

这篇关于RStudio控制台中的非英语(希伯来语)输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆