Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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在data.table中显示错误编码,但在vector中显示正确编码_R_Unicode_Data.table - Fatal编程技术网

R在data.table中显示错误编码,但在vector中显示正确编码

R在data.table中显示错误编码,但在vector中显示正确编码,r,unicode,data.table,R,Unicode,Data.table,有人知道为什么会这样吗?也就是说,为什么Unicode字符在数据表行中显示不正确,但在向量(数据表列)中显示正确 >test.dt >燃油箱卖方名称 >1:汽油手册Michels Srl >test.dt[卖方名称] >[1] “Michels Sárl” 我试过同样的例子,它显示正常。请在下面找到 library(data.table) df = data.table(id = 1, name = c("Michels Sàrl"),stringsAsFactors = F) >df

有人知道为什么会这样吗?也就是说,为什么Unicode字符在数据表行中显示不正确,但在向量(数据表列)中显示正确

>test.dt
>燃油箱卖方名称
>1:汽油手册Michels Srl
>test.dt[卖方名称]
>[1] “Michels Sárl”

我试过同样的例子,它显示正常。请在下面找到

library(data.table)
df = data.table(id = 1, name = c("Michels Sàrl"),stringsAsFactors = F)
>df
   id         name
1:  1 Michels Sàrl

首先确保您的区域设置正确。试试这个:

library(data.table)
Sys.setlocale("LC_CTYPE", "") # set character type locale to native
df = data.table(id = 1, name = c("Michels Sàrl"),stringsAsFactors = F)
如果这不起作用,您可能会在Windows上的R中遇到已知的错误;有关此错误的另一个实例,请参见

要解决此问题,请尝试以下方法:

library(corpus)
print.corpus_frame(df)

不,对我来说还是“Michels Srl”。所以它与我的R/笔记本电脑设置有关?可能是。。您能在R 32/64位控制台上尝试相同的线路并查看吗?不是在r studio控制台上,结果有点不同。在R3.4.2 64位版本的“Michels S?rl”中,我在R控制台上进行了测试,结果正常。。即使是data.frame类型谢谢,Patrick,我现在可以通过语料库看到字符了。虽然它不能解决我在将数据表保存为.csv或.txt时遇到的字符问题:(对,这是一个相关的错误;目前无法在windows上写入UTF-8数据。请参阅
library(corpus)
print.corpus_frame(df)