转载 https://zhuanlan.zhihu.com/p/160837130
中文编码方式有GBK(GB2312)和UTF-8两种。
由于区域设置问题,在Windows系统下,Excel程序默认用GBK格式读取CSV文件。
因此会导致乱码。
如下图所示:
解决的办法是用tidyverse包中的write_excel_csv()函数。
下面上代码:
library(tidyverse)
x <- c('好好地', '针对是棒极啦', '哈好好好好好爱吼吼吼啊', '啊')
y <- c(1, 2, 3, 4)
z <- c('haha', 'hehe', 'hoho', 'lala')
xyz_tbl <- tibble(x,y,z)
read_csv(file = 'data1.csv', )
#乱码
write.csv(xyz_tbl,'data_old.csv',row.names = T,fileEncoding='UTF-8')
#再次乱码
write_csv(xyz_tbl, 'data.csv')
#解决问题
write_excel_csv(xyz_tbl, 'data_ex.csv')
#以上文件用R读取都没问题
read_csv(file = 'data.csv')
read_csv(file = 'data_ex.csv')
read_csv(file = 'data_old.csv')