【问题标题】:Encoding issue: how to let console print "ć" instead of "c"?编码问题:如何让控制台打印“ć”而不是“c”?
【发布时间】:2018-01-07 01:23:00
【问题描述】:

我正在处理来自所有可能的欧洲语言的数据。 R 不能正确识别特殊字符,例如"ć" 而不是 "c​​"。

> "ć"
[1] "c" 

我已经多次遇到这种情况并找到了解决方法(read.csv,其他函数有选项encoding),但这并不能解决我的问题,但是如上所述。我进一步尝试了

> a <- "ć"
> Encoding(a)
[1] "unknown"

并将encodingoptions 设置为“UTF-8”,但没有成功。在实际分配字符之前,有没有办法告诉 R 从控制台读取什么编码?

【问题讨论】:

  • 您可以更改您的区域设置吗?我在我的系统上看到了 "ć" 的预期输出。

标签: r encoding character-encoding character utf


【解决方案1】:

这是由于该字符在您设置的语言环境中不可用。您可以将语言环境更改为具有该字符的语言环境,但这可能会影响其他字符,并且如果您随后更改语言环境,该字符的解释可能会有所不同,因此请注意

Sys.setlocale("LC_CTYPE","Polish")
[1] "Polish_Poland.1250"
"ć"
[1] "ć"

处理这个字符的更可靠的方法是使用它的 unicode 表示。显然,您必须对数据进行预处理才能对其进行更改。

"\u0107"
[1] "ć"

【讨论】:

    猜你喜欢
    • 2017-11-18
    • 2010-10-08
    • 2011-05-11
    • 2022-11-22
    • 2019-01-30
    • 2020-05-17
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多