Cada vez me encuentro con más casos en los que necesito escribir caracteres especiales, más allá de la eñe (Ñ), las tildes u otros caracteres habituales entre la mayoría de europeos occidentales (ç, à, ê, å, etc). El verdadero problema llega cuando necesitas escribir en otros idomas como ruso, árabe, chino, japonés, polaco, etc, o como mínimo, hacer tu web/aplicación compatible con estos juegos de caracteres.

El problema tiene fácil solución, se llama utf-8, un juego de caracteres especial que utiliza de 1 a 4 bytes por caracter, según sea necesario y es compatible con los canales de transmisión de 8bits. Es decir, que podemos enviar un texto con caracteres de múltiples culturas a la vez, utilizando los canales habituales, mail, web, irc, ftp, etc.
Lo único que queda por saber es cómo convertir documentos de texto que tengamos en iso-8859-15 (el juego de caracteres habitual en españa) a utf-8. Esta tarea la podemos realizar utilizando el comando “iconv” en linux (o bajando la misma aplicación en versión para Windows) y ejecutando el siguiente comando:

iconv documento.txt -f iso-8859-15 -t utf8 -o documento-utf.txt
documento.txt es el nombre del fichero que queremos convertir, -f iso-8859-15 es la codificación actual del fichero, -t utf8 es la codificación de destino y -o documento-utf.txt es el fichero dónde el programa escribirá el resultado.

Este comando me ha resultado especialmente útil para convertir algunas de mis páginas web a utf8. Por cierto, esta web usa utf-8.

4 comentarios para “Conviertiendo de iso-8859-15 a utf-8 fácilmente”

  1. Pedro dice:

    Hola, quiero convertir un archivo a utf8 con Windows, me he descargado iconv desde el enlaces que das y lo he instalado… pero ¿como se usa?

    Gracias

  2. Geek dice:

    Tienes que añadir la ruta hacia el iconv.exe en el path de tu sistema y luego desde la consola ejecutar las instrucciones que se indican en el post.

  3. desarrollador dice:

    gracias por la información , peor lo que ando buscando es algo que me cambie la codificación de caracteres iso-8859-15 a utf-8 todos los códigos fuentes de una carpeta que a su ves tiene otras carpeta: y no tener que hacer manualmente fichero por fichero
    atte

  4. jp dice:

    Hola, use lo que dices y tiene el problema de que la ñ la transforma en a±. Como se puede hacer para que no ocurra esto?

    Respecto a la duda de desarrollador, tienes que hacer ya sea en shell o en perl un script para recorrer todo y llamar al comando iconv para cada archivo.

Deja tu comentario