【问题标题】:UTF-8 file encoding in RR中的UTF-8文件编码
【发布时间】:2014-02-04 14:10:48
【问题描述】:

我有一个.csv 文件,它应该采用“UTF-8”编码。我已经从 Sql Server Management Studio 中导出了它。但是,当将其导入R 时,它会在ÿ 的行上失败。我使用 read.csv2 并指定文件编码“UTF-8-BOM”。

Notepad++ 正确显示 ÿ 并说它是 UTF-8 编码。这是R 编码的错误,还是ÿ 实际上不是UTF-8 编码方案的一部分?

我上传了一个小的 tab delimited .txt 文件在此处失败: https://www.dropbox.com/s/i2d5yj8sv299bsu/TestData.txt

谢谢

【问题讨论】:

  • ÿ 是 ISO 8859-1 的代码 255。我怀疑代码有一个写入 8 位字符的 EOF 条件。
  • R 以何种方式导致导入失败?某种错误消息或数据被截断或以某种方式转换?
  • @LauriK 没有错误消息 - 只是在包含该字母的第一行切断导入。
  • 似乎@chux 所说的可能是真的。因此,您可以使用其他一些 R 函数,或者如果它是一次性交易,则将 Notepad++ 中的字符替换为其他字符,然后将其替换回 R 中。
  • 您的意思是read.csv() 的r 代码将ÿ 读作EOF?我尝试使用 read.table 并保存为制表符分隔的文本文件,但我遇到了同样的问题。您对使用什么功能有什么建议吗?

标签: r utf-8 file-encodings


【解决方案1】:

这可能是开头的 BOM 标记的一部分。如果编辑器或解析器无法识别 BOM 标记,则认为它是垃圾。详情请见https://www.ultraedit.com/support/tutorials-power-tips/ultraedit/unicode.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2015-06-05
    • 2011-11-20
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多