Tôi đã tạo ra một kịch bản dưới đây để chuyển đổi unicode thành ký tự Trung Quốc, chuỗi cuối cùng trong temp.df[,"name_unicode"]
là "§ £" (không có báo giá), để mọi người không biết tiếng Trung Quốc cũng có thể giúp đỡ.unicode chuyển đổi và xuất khẩu trong R
library(RODBC)
library(Unicode)
temp.df <- data.frame(name_unicode=c("陳大文",
"陳小敏",
"陳一山",
"§®£"),
stringsAsFactors=FALSE)
temp.df[,"name_unicode_mod"] <- sapply(temp.df[,"name_unicode"],
function(x) {
temp <- unlist(strsplit(x,";"))
temp <- sprintf("%x",as.integer(gsub("[^0-9]","",temp)))
temp <- intToUtf8(as.u_char_range(temp))
return(temp)
})
write.csv(temp.df,file("test.csv",encoding="UTF-8"),row.names=FALSE)
Đầu ra cho temp.df[,"name_unicode_mod"]
là OK cho R console. Nhưng tôi cần xuất chúng ra ở định dạng csv
hoặc xls
. Tôi đã thử write.csv
, write.table
, odbcConnectExcel
trong RODBC
nhưng tất cả mang lại cho tôi một cái gì đó như <U+00A7><U+00AE><U+00A3>
.
Có ai giúp được không? Cảm ơn.
P.S. Tôi đang sử dụng R 3.0.0 và Win7
Bạn đã thử sử dụng đối số 'encoding' trong hàm' write.table'? –
đã thử: 'out <- file (" test.txt "," w ", encoding =" UTF-8 "); write.table (temp.df, out, row.names = FALSE); đóng (out) ' vẫn không thành công – lokheart
+1 bởi vì tôi cảm thấy nỗi đau của bạn với mã hóa. –