Saltar la navegación

iconv

Relacionado con el tipo de codificación de un fichero está el comando iconv que nos permite cambiar la codificación de un fichero utilizando un fichero auxiliar. Las dos opciones principales son:

-f tipo-codificación-original   Especifica la codificación del fichero original.  
-t tipo-codificación-resultante   Especifica la codificación del resultado.

Por defecto el resultado se muestra sobre la salida estándar:

$ iconv -f iso-8859-1 -t utf-8 documento.txt > documento.utf8

La opción -o manda la salida al fichero que se especifica con la opción:

$ iconv -f iso-8859-1 -t utf-8 -o documento.utf8 documento.txt

Si hubiera en el fichero original, caracteres que no pudieran pasarse a la codificación final, el comando se detendría en el primer carácter erróneo y mostraría un mensaje de error. Es posible en estos casos hacer la conversión saltando los caracteres erróneos, para ello usaríamos la opción -c:

$ iconv -f ascii -t utf8 -o destino.txt origen.txt
iconv: secuencia de entrada ilegal en la posición 7
$ iconv -c -f ascii -t utf8 -o destino.txt origen.txt
$

El fichero destino.txt no tendrá ninguno de los caracteres que no pudieron traducirse.

Podemos ver una lista de todos los tipos de codificación que maneja iconv con la opción -l :

$ iconv -l
La siguiente lista contiene todos los conjuntos de caracteres conocidos.
Esto no quiere decir necesariamente que todas las combinaciones de estos
nombres se puedan usar como parámetros FROM y TO en la línea de órdenes.
Un determinado conjunto de caracteres puede aparecer con varios nombres
(aliases).

  437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865,
  866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4,
  8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993, 10646-1:1993/UCS4,
  ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4, ANSI_X3.110-1983, ANSI_X3.110,
  ARABIC, ARABIC7, ARMSCII-8, ASCII, ASMO-708, ASMO_449, BALTIC, BIG-5,
  BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, BRF, BS_4730, CA, CN-BIG5,
  CN-GB, CN, CP-AR, CP-GR, CP-HU, CP037, CP038, CP273, CP274, CP275, CP278,
........

Licencia: licencia de software libre GPL