Algo muy común en Bases de Datos es importar datos de una a otra, por ejemplo de MySQL a postgres, SQL Server a Oracle, etc. El proceso más simple a mi forma de ver es exportar todo a archivos de texto y luego importarlo de nuevo.

A veces nos topamos con el pequeño problema de que el econding del archivo esta por ejemplo en Latin1 y nuestra base de datos tiene otro encoding (UTF-8 por ejemplo).

Yo me he topado con este problema varias veces, pero usualmente usaba un editor de texto como el textpad para poder guardarlo con otra codificación, y mucho antes de darme cuenta que tenía esa opción, cambiaba caracteres como tildes, ñ, etc con un search and replace. :S.

Pero les cuento que en linux existe un comando que nos soluciona esta tarea.

El comando es iconv :

Simplemente tienen que escribir

iconv myarchivo.txt -f [encoding_actual] -t [encoding_deseado] > mynuevoarchivo.txt

Soporta larga cantidad de encodings, yo creo que todos ( pero no estoy seguro), para ver el listado escriban.

iconv -l

De todos modos lean la documentación oficial , o un simple iconv –help.

Bueno, como siempre espero que les sirva y hasta la próxima, que será dentro de unas cuantas horas. :)

Una Respuesta a “Cambiar de codificación (encoding) un archivo de texto (UTF-8, Latin1, UTF-16, etc.)”

  1. Muy bueno el post!!! Más de una vez me he visto en este lío, jejejeje.

    Por cierto, que también es interesante saber cómo averiguar la codificación actual de un archivo, simplemente con el comando “help” seguido del nombre del archivo:

    file /var/www/agenda/miarchivo.txt

    SERGI

    Mayo 16th, 2008 | 1:52 pm

Deja un comentario

Cerrar
Enviar por Correo