[問題] 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