文本编码 - Windows 没问题

Text encoding - fine on Windows, not nix

我在 Win 和 nix 机器(分别为 ISO-8859-1 和 UTF-8)的默认编码之间加载数据时遇到问题。

示例 - Windows 首先:

library(stringi)
dummy <- as.character("BØÅS")
write(dummy, "saveFile")
getData <- read.table("saveFile", header=F, sep="\t", quote="\"")

reEncode=function(x) {
  stri_trans_general(x, "Latin-ASCII")
}

enCoded  <- apply(getData, 1, reEncode)
result   <- as.data.frame(enCoded)

在 Windows 中,上面根据需要生成 "BOAS"。

现在转到 nix 并使用保存的文件:

getData <- read.table("saveFile", header=F, sep="\t", quote="\"")

    reEncode=function(x) {
      stri_trans_general(x, "Latin-ASCII")
    }

    enCoded  <- apply(getData, 1, reEncode)
    result   <- as.data.frame(enCoded)

Nix 给出 "B??S".

我认为这是一个 read.table 编码问题,但无法弄清楚如何让 nix 使用 ISO-8859-1。有什么建议吗?

read.table("saveFile", header=F, sep="\t", quote="\"",encoding="latin1")