【问题标题】:Korean encoding issues in in RR中的韩语编码问题
【发布时间】:2015-11-11 05:39:52
【问题描述】:

我正在使用处理韩文文本的 R 代码。下面是一个简单的代码来说明问题:

a <- "안녕"
write.csv(a, "test.csv", fileEncoding = "UTF8")

运行上面的代码给了我一个包含&lt;U+C548&gt;&lt;U+B155&gt;而不是안녕的csv文件。 RStudio 已经默认运行“utf8”unicode。控制台可以很好地打印对象,但View(a) 给出了&lt;U+C548&gt;&lt;U+B155&gt;,即未编码的字符串。环境选项卡还显示一个值的未编码字符串。

我尝试在其他使用韩语 Windows 的计算机上运行该代码,并且它以某种方式运行良好。所以语言设置可能是根本问题。我实际上使用的是韩文版的 Windows 7,但显示语言为英文。将显示语言恢复为默认语言(韩语)实际上可以正常工作!所以问题可能是语言编码冲突或系统中的某些东西。

除了我在韩语中使用韩语 Windows 之外,还有其他解决方法吗? 非常感谢。

【问题讨论】:

  • 在以en_US.UTF-8 为语言环境的 Linux 上为我工作。
  • 您的示例代码有错别字; write.csv(a, "test.csv", fileEncoding = "UTF-8") 有效吗?
  • 成功了吗?嗯..我实际上使用的是韩文版的 Windows 7,但显示语言为英文。将显示语言恢复为默认语言(韩语)实际上可以正常工作!所以问题可能是语言编码冲突或系统中的某些东西。有什么建议吗?

标签: r windows encoding character


【解决方案1】:

您可能想尝试在 readr 包中使用write_csv()。使用您的示例,我能够将“a”转换为数据框,然后保存。

a<- "안녕"
a<- as.data.frame(a)
readr::write_csv(a, "test.csv")

生成的 test.csv 包含以下文本: a안녕

但是,如果您在控制台中输入“a”,您将看到以下内容:

> a
                 a
1 <U+C548><U+B155>

【讨论】:

    猜你喜欢
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多