Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
失去Čč;字符,R中的UTF编码_R - Fatal编程技术网

失去Čč;字符,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')