我遇到了这种奇怪的情况:
我需要将数据框保存到 .csv 文件 UTF-8 并以 LF 结尾。我在 Windows 10 机器上使用最新版本的 R 和 Rstudio。
我的第一次尝试是天真地做:
write.csv(df, fileEncoding="UTF-8", eol="\n")
使用 Notepad++ 检查,似乎编码是 UTF-8,但是行尾是 CRLF 而不是 LF。好的,让我们用记事本仔细检查一下:惊喜,惊喜,根据记事本,编码是 ANSI。在这一点上,我很困惑。
在查看了函数write.csv的文档后,我读到:
CSV 文件不记录编码
我不是该主题的专家,因此我决定还原并使用write.table将文件保存为简单的 .txt ,如下所示:
write.table(df, fileEncoding="UTF-8", eol="\n")
再次,与上述相同的结果。没有任何变化。我尝试了这些组合
write.csv(df)
write.table(df)
没有指定的编码但没有变化。然后我将 Rstudio 中的默认编码设置为 UTF-8 和 LF 行尾(如下图所示)
并再次运行测试。没变。我错过了什么??