Utworzony poniżej skrypt do konwersji unicode na chińskie znaki, ostatni ciąg w temp.df[,"name_unicode"]
to "§® £" (bez cudzysłowu), dzięki czemu osoby nie znające chińskiego również mogą pomóc.Konwersja i eksport Unicode w 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)
Dane wyjściowe dla temp.df[,"name_unicode_mod"]
są prawidłowe dla konsoli R. Ale muszę wyeksportować je w formacie csv
lub xls
. Próbowałem write.csv
, write.table
, odbcConnectExcel
w RODBC
, ale wszystkie daje mi coś w rodzaju <U+00A7><U+00AE><U+00A3>
.
Czy ktoś może pomóc? Dzięki.
P.S. Używam R 3.0.0 i Win7
Czy próbowałeś również użyć argumentu 'encoding' w funkcji' write.table'? –
tried: 'out <- file (" test.txt "," w ", kodowanie =" UTF-8 "); write.table (temp.df, out, row.names = FALSE); close (out) ' nadal nie działa – lokheart
+1, ponieważ czuję twój ból z kodowaniem. –