[問題] utf-8寫入問題

看板R_Language作者 (empireisme)時間3年前 (2020/06/16 13:54), 編輯推噓1(106)
留言7則, 3人參與, 3年前最新討論串1/2 (看更多)
先附上我的程式碼 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

06/16 14:14, 3年前 , 1F
這應該要怪windows的cp950了... 也就是big5沒有這個字
06/16 14:14, 1F

06/16 14:16, 3年前 , 2F
可是我有指定他要變成utf-8 阿@@ 所以是windows非R的
06/16 14:16, 2F

06/16 14:21, 3年前 , 3F
和你指定沒關係。算是windows的鍋。
06/16 14:21, 3F

06/16 14:25, 3年前 , 4F
不過如果只是要輸出csv,改用data.table::fwrite可解決
06/16 14:25, 4F

06/16 14:26, 3年前 , 5F
(可能其它輸出方法也可以,但我主要用data.table)
06/16 14:26, 5F

06/16 21:47, 3年前 , 6F
可以試試看 tidyverse 的 readr套件,應該可以解決
06/16 21:47, 6F

06/16 22:30, 3年前 , 7F
結果才發現原po有回了…哈哈哈
06/16 22:30, 7F
文章代碼(AID): #1Uw5w7zv (R_Language)
文章代碼(AID): #1Uw5w7zv (R_Language)