Sto leggendo un file tramite RJDBC da un database MySQL e visualizza correttamente tutte le lettere in R (ad esempio, נווה שאנן). Tuttavia, anche quando lo si esporta utilizzando write.csv e fileEncoding = "UTF-8", l'output appare come <U+0436>.<U+043A>. <U+041B><U+043E><U+0437><U+0435><U+043D><U+0435><U+0446>
(in questo caso non si tratta della stringa sopra ma di quella bulgara) per bulgaro, ebraico, cinese e così via. Altri caratteri speciali come ã, ç ecc funzionano bene.Esporta UTOM-8 BOM in .csv in R
ho il sospetto che questo è perché di UTF-8 BOM, ma non ho trovato una soluzione in rete
Il mio sistema operativo è un Windows7 tedesca.
edit: ho provato
con<-file("file.csv",encoding="UTF-8")
write.csv(x,con,row.names=FALSE)
e (per quanto ne so) equivalente write.csv(x, file="file.csv",fileEncoding="UTF-8",row.names=FALSE)
.
Stai dicendo che quando apri il file esportato, vedi "U + 0436" invece di "ж"? Se non si tratta di un problema di distinta base, solo un problema dei punti del codice Unicode non viene codificato in una codifica UTF, ma viene emesso come punti di codice. Forse mostraci del codice come esattamente stai esportando il file? – deceze
Ho aggiunto informazioni su come ho esportato il file. E sì, vedo "" invece di "ж" –
Vedere "" nel file è ambiguo (potrebbe anche significare che quei caratteri siano effettivamente in linea in quel file o che l'editor non sia in grado di visualizzarli). Potresti scriverci "ж" in un file e dirci i valori esadecimali di tutti i caratteri contenuti nel file generato (aprilo in un editor esadecimale); O dacci il codice per riprodurre il tuo problema (ovviamente non abbiamo il tuo DB, quindi crea un vettore con i dati di esempio). –