【问题标题】:non-English character CSV encoding error among PC/MAC/UbuntuPC/MAC/Ubuntu 之间的非英文字符 CSV 编码错误
【发布时间】:2016-07-12 02:43:45
【问题描述】:

这个问题困扰了一年。我的 R 无法打开包含简体 中文 字符的 csv 文件。我相信数据编码为GBK。我有三台不同语言和操作系统的电脑,打开同一个中文 csv 文件时,结果混合结果。有人能告诉我为什么结果不同吗?

  • (1)Windows+English OS+English R and R studio:无法读取我的 csv,即使我将其编码为 UTF8、GBK,而您将其命名为中文编码。
  • (2) Mac+EnglishOS+English R: ABLE 读取中文csv而不强制编码(更新:我重新安装操作系统到El Caption后,它无法打开我的csv 正确)

  • (3) Windows+中文操作系统,+中文R:ABLE读取csv而不强制编码或gbk

  • (4) Windows+英文操作系统,+中文R:无法
  • (5) Ubuntu 英文操作系统,英文 R:ABLE
  • 在windows case(中英文操作系统)下,notebook可以正确打开csv,但是在英文case下不能打开excel。当我无法用 excel 打开我的 csv 时,我的 r 也不能。
  • 如果我通过 Google 表格聚合 csv,我的 excel 可以打开我的 csv,但 R 仍然不行。

编码在 R 中是如何工作的,为什么结果会随着 OS 语言而变化?

 read.csv(...,encoding=)

【问题讨论】:

  • 感谢您注意到gbk 是其中一种可能性。我在打开从网上银行下载的简体中文CSV文件时遇到问题,我试过latin1,我试过iso-8859-1,我试过cp1252,都无济于事。但是gkb 只是完成了这项工作!

标签: r excel csv utf-8


【解决方案1】:

可能与 excel csv 编码系统有关。如果您的 Windows 操作系统是英文。 excel 可能无法正确打开 cvs。一种解决方法是使用 google sheer 或 Ubuntu 安装表将其收敛到 csv 并尝试使用 r 打开它。

【讨论】:

    【解决方案2】:

    我已经想出了如何解决。它处理包含简体中文字符的小于 800M 的大型文件。关键是你应该知道你的操作系统默认的中文编码。

    Ubuntu 使用 UTF-8 作为默认的中文编码。所以你应该将其编码为 UTF-8 而不是 GB18130 或其他 GB 起始编码。

    • (1) 下载 Open Office(免费且安装速度快,有更高的 文件大小比 Ubuntu 中的 Cals)。

    • (2) 检测您的 CSV 编码。只需使用 Open office 打开您的 csv,然后选择一种显示您的汉字的编码方式。

    • (3) 将您的 csv 保存到根据您的正确编码系统 操作系统。默认Windows是中文的GBK,Ubuntu是 UTF8。

    这应该可以解决您的文件大小问题和编码问题。您甚至不强制编码。正常的read.csv 可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多