我遇到一个非常奇怪的问题,我自己无法解决。
突然,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的默认编码?如果是这种情况,我该如何改回来?
提前感谢您提供任何帮助
答案 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