[问题] utf-8写入问题

楼主: empireisme (empireisme)   2020-06-16 13:54:12
先附上我的程式码
Sys.setlocale("LC_ALL","cht")
text <- "酶"
Encoding(text)
print(text)
data1 <- data.frame(text)
print(data1)
print(data1$text)
write.csv(data1,"test1.csv")
write.csv(data1,"test2.csv",fileEncoding = "utf-8")
我想要写入 酶这个字
结果不知道为何使用
print(text) 会是正确的
但是print (data1) 就会出现 <U+9176>
我试两个写入方式 指定utf-8和否
写入csv的时候都会试 <U+9176> 而非中文
想问如何处理
因为我通常写入都是用data.frame存
作者: andrew43 (讨厌有好心推文后删文者)   2020-06-16 14:14:00
这应该要怪windows的cp950了... 也就是big5没有这个字
楼主: empireisme (empireisme)   2020-06-16 14:16:00
可是我有指定他要变成utf-8 阿@@ 所以是windows非R的
作者: andrew43 (讨厌有好心推文后删文者)   2020-06-16 14:21:00
和你指定没关系。算是windows的锅。不过如果只是要输出csv,改用data.table::fwrite可解决(可能其它输出方法也可以,但我主要用data.table)
作者: locka (locka)   2020-06-16 21:47:00
可以试试看 tidyverse 的 readr套件,应该可以解决结果才发现原po有回了…哈哈哈

Links booklink

Contact Us: admin [ a t ] ucptt.com