我正在处理所有可能的欧洲语言的数据。 R无法正确识别特殊字符,例如“ć”而不是“c”。
> "ć"
[1] "c"
我经历了不同的时间并找到了解决方法(read.csv,其他函数有encoding
选项),但这并没有解决我的问题,如上所述。我进一步尝试了
> a <- "ć"
> Encoding(a)
[1] "unknown"
并将options
的{{1}}设置为“UTF-8”但未成功。有没有办法告诉R在实际分配字符之前从控制台读取什么编码?
答案 0 :(得分:2)
这是由于您设置的区域设置中没有该字符。您可以将语言环境更改为具有该字符的语言环境,但这可能会影响其他字符,如果您随后更改语言环境,则该字符可能会有不同的解释,因此 caveat emptor 。
Sys.setlocale("LC_CTYPE","Polish")
[1] "Polish_Poland.1250"
"ć"
[1] "ć"
处理此角色的更强大的方法是使用其unicode表示。显然,您必须预先处理数据才能对其进行更改。
"\u0107"
[1] "ć"