在Mac OS X的R 3.1.2中使用UTF-8编码的特殊字符的错误文本文件输出

sz81bmfz  于 2023-05-26  发布在  Mac
关注(0)|答案(3)|浏览(151)

我在使用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

我不知道问题出在哪里。有什么需要帮忙的吗?

jfewjypa

jfewjypa1#

刚刚遇到了另一个问题,看起来像是这个问题的翻版:
将UTF-8 BOM导出到R中的.csv

xwbd5t1u

xwbd5t1u2#

问题不是R中的编码,而是TextEdit,它没有显示正确的字符,尽管我在首选项中选择了UTF-8编码。用另一个编辑器解决了。我使用的是Mac OS X 10.6.8和TextEdit 1.6。

iszxjhcz

iszxjhcz3#

也许你可以写带重音的单词,但Excel需要不同的编码。尝试使用例如write_csv()编写csv,并使用解决方法打开csv:

  • 打开Excel
  • 然后选择选项卡“数据”|获取外部数据|来自文本
  • 选择您的文件
  • 在文本导入向导的步骤1中,选择文件源65001:Unicode(UTF8)。

参见http://www.openforis.org/support/questions/279/wrong-characters-display-when-exporting-files-to-csv-from-collect

相关问题