2012-03-01 14 views
7

estoy haciendo algunas raspado web de nombres en una trama de datosmanejo de caracteres especiales, p. acentos en I

Para un nombre como "Tomas Rosicky, que obtener un resultado 'Tomáš Rosický'

Probé

Encoding("Tomáš Rosický") # with latin1 response 

pero no estaba seguro de dónde ir de allí para obtener el nombre original con detalles en la espalda. jugado un poco con iconv sin éxito

estaría satisfecho (e incluso puede ser que prefiera) una salida de "Tomas Rosicky"

+0

¿Cómo leyó el data.frame? Por lo general, puede proporcionar un parámetro de codificación como 'fileEncoding' a' read.table'. Y como respondió @Hong Ooi, UTF-8 parece ser la codificación que necesitas. – Tommy

Respuesta

6

Has leído en una página codificada en UTF-8. si x es su columna de nombres, use Encoding(x) <- "UTF-8".

2

Para hacer una lectura correcta del archivo utilice la función de exploración:

namb <- scan(file='g:/testcodering.txt', fileEncoding='UTF-8', 
what=character(), sep='\n', allowEscapes=T) 
cat(namb) 

Esto también funciona:

namc <- readLines(con <- file('g:/testcodering.txt', "r", 
encoding='UTF-8')); close(con) 
cat(namc) 

Esto leerá el archivo con los acentos correctos

2

Una forma para exportar los acentos correctamente:

enc2utf8(as(dataframe$columnname, "character")) 
1

Debe usar esto:

df$colname <- iconv(df$colname, from="UTF-8", to="LATIN1") 
+0

¿Podría agregar alguna explicación también? – d4Rk

Cuestiones relacionadas