失去Čč;字符,R中的UTF编码
我有这个字符串:失去Čč;字符,R中的UTF编码,r,R,我有这个字符串:“Časovérozlíšenie súčet” 我想将字符串存储到csv文件(或其他文件)中,以便以后可以使用它在数据帧中重写列名 使用write.csv(..,encoding=“UTF-8)或任何其他方法,每次我得到以下信息时: "Casové rozlíšenie súcet" # so it loses the Č or č, all other letters are fine. 我从使用x废弃中得到了经验,您使用的编码–Windows-1252–不包含带重音的“
“Časovérozlíšenie súčet”
我想将字符串存储到csv文件(或其他文件)中,以便以后可以使用它在数据帧中重写列名
使用write.csv(..,encoding=“UTF-8)
或任何其他方法,每次我得到以下信息时:
"Casové rozlíšenie súcet" # so it loses the Č or č, all other letters are fine.
我从使用
x废弃中得到了经验,您使用的编码–Windows-1252–不包含带重音的“c”字母
不幸的是,Windows上对R的编码支持相当缺乏。如果Sys.setlocale
1不起作用,那么唯一的办法可能是raw
-对字符串进行编码并从中转换:
# Časové …
x = list(as.raw(c(0xC4, 0x8C, 0x61, 0x73, 0x6F, 0x76, 0xC3, 0xA9))) # , …
result = iconv(x, from = 'UTF-8')
显然,这是一个令人头疼的问题,因为。更好的方法是从文件中读取原始数据,并从中进行转换
我不知道如何将它与fromJSON
结合使用。您可以尝试在调用fromJSON
时指定encoding='UTF-8'
。但是,我怀疑这是否行得通
我可以试试这些:
Sys.setlocale(locale = 'en_GB.UTF-8')
Sys.setlocale(locale = 'UTF-8')
Sys.setlocale(locale = 'CP65001')
不幸的是,我不知道Windows下R的语言环境支持的状态,因此这可能不起作用。谢谢。我收到警告:OS reports请求将语言环境设置为“UTF-8”“不可能honored@Max啊,看来R根本做不到。不幸的是,在Windows上对R的编码支持相当,啊。我不确定这在短期内是否会得到解决–Windows上的UTF-8不可否认是微不足道的,但在链接邮件列表线程上也存在一些误解(例如,Windows支持UTF-8已有很长时间了,与那里所声称的相反)。谢谢,只是阅读一下:
# Časové …
x = list(as.raw(c(0xC4, 0x8C, 0x61, 0x73, 0x6F, 0x76, 0xC3, 0xA9))) # , …
result = iconv(x, from = 'UTF-8')
Sys.setlocale(locale = 'en_GB.UTF-8')
Sys.setlocale(locale = 'UTF-8')
Sys.setlocale(locale = 'CP65001')