如何在Linux上的rstudio中读取中文

时间:2014-01-09 02:16:26

标签: r csv encoding utf-8 rstudio

我在rstudio读取Linux系统上的中文文件时遇到了问题。

错误如下。

dt <- read.csv(file = "/home/..../aa-0912.csv", header = T , sep=",")

Error in make.names(col.names, unique = TRUE) : 
  invalid multibyte string at '<be><ba><b5><c3><c8><cb>'

此csv文件由具有指定编码的Window系统上的rstudio编写,如下所示:

write.csv(file = "/home/.../aa-0912.csv", data)

我可以在窗口上正确阅读,但是当我在Linux系统上复制此文件时,read.csv 不起作用。

Linux上的语言环境是:

Sys.getlocale()

[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C"

The locale on Window is :
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

我正在尝试通过编码=“utf-8”读取数据,但我收到了类似的错误消息。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我不确定这是你问题的答案。

我会尽量保持一般性,以便在任何语言中遇到麻烦的人都可以找到解决方案:

首先在终端local -a local中显示系统上的所有可用语言环境。

一旦你找到了正确的语言环境,那么就在RStudio上:

Sys.setlocale("LC_ALL","fr_FR.utf8") 

抱歉,我的系统上似乎没有任何中文语言环境。其他人遇到了同样的问题:herehere

还可以查看R中的?Sys.setlocale