我在使用R 3.1.2和Mac OS X 10.6编写带有西班牙口音的csv文件时遇到问题。
我无法将带重音的单词写入文本文件。
当我这样做时:
con <- file("y.csv",encoding="UTF-8")
write.csv("Ú",con)
我得到y.csv文件,其中包含以下内容:
“",“x”“1”,"√ö”
也就是说,“√ö”而不是“υ”。
当使用write.table
时,结果是等效的。
Encoding(“υ”)是“UTF-8”
如果我执行write.xlsx("Ú","y.xlsx")
,我会得到y.xlsx文件,它成功地显示了ñ。
我也尝试过使用iconv()
转换为其他编码,但没有成功。
我在RStudio和TextEdit中设置了默认编码“UTF-8”。当只使用R(而不是RStudio)时,问题是相同的。在RStudio中,特殊字符正确显示(在文件中),在R的控制台中也是如此。Sys.getlocale()
给出
"es_ES.UTF-8/es_ES.UTF-8/es_ES.UTF-8/C/es_ES.UTF-8/es_ES.UTF-8"
在Mac OS X终端
file -I y.csv
给予
y.csv: text/plain; charset=utf-8
我不知道问题出在哪里。有什么需要帮忙的吗?
3条答案
按热度按时间jfewjypa1#
刚刚遇到了另一个问题,看起来像是这个问题的翻版:
将UTF-8 BOM导出到R中的.csv
xwbd5t1u2#
问题不是R中的编码,而是TextEdit,它没有显示正确的字符,尽管我在首选项中选择了UTF-8编码。用另一个编辑器解决了。我使用的是Mac OS X 10.6.8和TextEdit 1.6。
iszxjhcz3#
也许你可以写带重音的单词,但Excel需要不同的编码。尝试使用例如
write_csv()
编写csv,并使用解决方法打开csv:参见http://www.openforis.org/support/questions/279/wrong-characters-display-when-exporting-files-to-csv-from-collect