我的系统: win7旗舰版64英文版+ r-3.1(64)。
这是我的sessionInfo。
> sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
LC_MONETARY=English_United States.1252 LC_NUMERIC=C
LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base 1.无法在r控制台中输入中文字符
当我在r控制台中输入一个汉字时,它变成了乱码。


2.无法在r控制台上显示汉字
当我在r控制台中读取数据时,中文字符变成乱码。
您可以下载数据,并使用
read.table("r1.csv",sep=",")Download Data

如果您不知道如何从我的网站获取数据,请查看图表下载数据。

如何将我的电脑设置为在控制台中正确显示和输入中文字符?我已经更新了中文包,并启用了它,但问题仍然存在。
发布于 2014-07-02 09:42:23
它可能没有很好的文档,但您想要使用setlocale才能使用中文。该方法也适用于许多其他语言。解决方案并不明显,因为setlocale的官方文档并没有特别提到它是一种解决显示问题的方法。
> print('ÊÔÊÔ') #试试, meaning let's give it a shot in Chinese
[1] "ÊÔÊÔ" #won't show up correctly
> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
> Sys.setlocale(category = "LC_ALL", locale = "chs") #cht for traditional Chinese, etc.
[1] "LC_COLLATE=Chinese_People's Republic of China.936;LC_CTYPE=Chinese_People's Republic of China.936;LC_MONETARY=Chinese_People's Republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese_People's Republic of China.936"
> print('试试')
[1] "试试"
> read.table("c:/CHS.txt",sep=" ") #Chinese: the 1st record/observation
V1 V2 V3 V4 V5 V6
1 122 第一 122 条 122 记录 如果只想更改显示编码,而不想更改语言环境的其他方面,请使用LC_CTYPE而不是LC_ALL
> Sys.setlocale(category = "LC_CTYPE", locale = "chs")
[1] "Chinese_People's Republic of China.936"
> print('试试')
[1] "试试"当然,这只适用于官方的R控制台。如果您使用其他集成开发环境,例如非常流行的RStudio,则根本不需要执行此操作即可输入和显示中文,即使您没有加载中文语言环境。
从下面的评论中移植一些有用的东西:
如果数据仍然不能正确显示,我们还应该检查文件编码的问题。如果文件是UTF-8编码的,那么data <- read.table("you_file", sep=',', fileEncoding="UTF-8-BOM", header=TRUE)或fileEncoding="UTF-8"就可以了,这取决于它实际采用的是哪种编码。
但您可能希望远离UTF-BOM,因为不推荐这样做:What's different between UTF-8 and UTF-8 without BOM?
https://stackoverflow.com/questions/24473681
复制相似问题