Herramientas de usuario

¡Esta es una revisión vieja del documento!


iconv

El programa iconv es un filtro que permite convertir la codificaciones de texto utilizada por fichero de texto a otra diferente.

iconv resulta especialmente útil si encuentras errores en los en la representación de caracteres extendidos, tales como vocales acentuadas, eñes, diacríticos y demás símbolos.

Cada fichero de texto plano recibe una codificación determinada, la cual especifica la manera en la cual se describen los caracteres que la componen. Cada una de dichas codificaciones por defecto se representarán de acuerdo a la codificación especificada localmente por el usuario (por ejemplo, utf-8, etc.

El texto convertido se presenta en la salida estándar.

Ver también: Acentos y Eñes en texto-plano

Uso

Te conviene primero utilizar el programa file para conocer cuál es la codificación del fichero de texto, pues no son pocos los sistemas operativos que asignan metadatos a los mismos que permiten dilucidar cómo están codificados:

file fichero.txt
fichero.txt: Codepage CP850 extended-ASCII text

iconv convertirá desde una codificación dada con la opción de origen -f, a otra indicada con la opción de destino -t.

Por ejemplo, para convertir fichero.txt en pantalla:

iconv -f cp850 -t utf8 fichero.txt

Una vez que estés satisfecho con la conversión, podrás realizarla a un fichero por medio de una redirección:

iconv -f cp850 -t utf8 fichero.txt > fichero_convertido.txt

Como referencia, podrás ver un listado textual de las distintas codificaciones de texto incorporadas al sistema con:

iconv -l

Ejemplos de conversiones con iconv

Conversión desde archivos de MSDOS a UTF8
iconv -f cp437 -t utf8 dos.txt > fichero_convertido.txt
Conversión desde archivos de Windows a UTF8
Conversión de UTF8 a ASCII

Convertir en sentido inverso (desde una codificación “moderna” a una antigua) puede presentar limitaciones, pero puede servir en algunos casos.

cat fichero_con_acentos.txt
¿La Eñe? ¡Claro que sí!
cat fichero_con_acentos.txt | iconv -t ASCII//TRANSLIT > fichero_ascii.txt
cat fichero_ascii.txt
?La e~ne? !Claro que s'i!

Este sitio web utiliza cookies para guardar datos esenciales de su actividad, como su autenticación. Al entrar acepta el uso de cookies.

Más información