看板 R_Language 關於我們 聯絡資訊
先附上我的程式碼 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