在R中写write.csv奇怪的编码

时间:2015-07-22 14:17:45

标签: r file-io encoding

我遇到一个非常奇怪的问题,我自己无法解决。

突然,write.csv正在以一种无法在libre office中读取它的方式编码csv文件。 该命令一直有效,直到今天。现在,如果我尝试使用write.csv(或更一般的等效write.table),然后我尝试用libre office打开文件,我得到的只是一堆符号和亚洲字符。 我真的不明白这里发生了什么,似乎write.csv的默认编码本身已经改变了。 我今天唯一不同的是阅读一些使用程序eprime编码的文本文件,因此我必须使用以下命令才能读取文件

  

A = read.delim(" Pre_NewTask_Run1.txt&#34 ;, fileEncoding =" UCS-2LE")

这是否可能改变了write.csv的默认编码?如果是这种情况,我该如何改回来?

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

如果没有样本数据或可重现的代码,可能很难为您提供准确的答案。话虽如此,作为初始尝试,您可以尝试使用特定编码强制导出数据,例如代码:

con<-file('filename',encoding="utf8")
write.csv(...,file=con,...)

可以让您使用 utf-8编码。您还可以运行l10n_info()命令,该命令将为您提供有关当前编码的信息:

> l10n_info()
$MBCS
[1] FALSE

$`UTF-8`
[1] FALSE

$`Latin-1`
[1] TRUE

$codepage
[1] 1252