中文编码方式有GBK(GB2312)和UTF-8两种。
由于区域设置问题,在Windows系统下,Excel程序默认用GBK格式读取CSV文件。
因此会导致乱码。
如下图所示:
![eb163b05995ec24dd3c026ef2a1c76bf.png](https://i-blog.csdnimg.cn/blog_migrate/48a0535192c24f5a32faa119d0eca1bc.png)
解决的办法是用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')
![50379635e55fa90a3e6ca3a1e03204a2.png](https://i-blog.csdnimg.cn/blog_migrate/25c8c306ff16007815e7886a463dd77e.png)
![3eaf7b79d1df09ea9d48bb785f391c3c.png](https://i-blog.csdnimg.cn/blog_migrate/53e4c389d687bb5afefd6f6d021bd0ab.png)
![436a7bb6de0de69e2e81f7c9de54d95d.png](https://i-blog.csdnimg.cn/blog_migrate/2cefe013b52d33be007bc04c9e14aab1.png)
![56c00a36b452d70dde655a0447c360c0.png](https://i-blog.csdnimg.cn/blog_migrate/335f702820a51d806ad65a149131160d.png)
以上。