作者empireisme (empireisme)
看板R_Language
標題[問題] utf-8寫入問題
時間Tue Jun 16 13:54:12 2020
先附上我的程式碼
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存
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.72.221.179 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1592286855.A.F79.html
→ andrew43: 這應該要怪windows的cp950了... 也就是big5沒有這個字 06/16 14:14
→ empireisme: 可是我有指定他要變成utf-8 阿@@ 所以是windows非R的 06/16 14:16
→ andrew43: 和你指定沒關係。算是windows的鍋。 06/16 14:21
→ andrew43: 不過如果只是要輸出csv,改用data.table::fwrite可解決 06/16 14:25
→ andrew43: (可能其它輸出方法也可以,但我主要用data.table) 06/16 14:26
推 locka: 可以試試看 tidyverse 的 readr套件,應該可以解決 06/16 21:47
→ locka: 結果才發現原po有回了…哈哈哈 06/16 22:30