Convertir caracteres de latin1 a utf-8

Uno de los problemas que me surgió al migrar de latin1 a utf-8 fue que muchos carácteres que tenía los archivos de backup de la base de datos quedaron en la antigua codificación y no se mostraban correctamente. La misión era convertir estos nombres de archivo a utf-8.

Para resolver ese problema viene en nuestra ayuda el paquete convmv.

El paquete convmv nos permite convertir el nombre de un fichero o de un conjunto de ficheros de una codificación a otra. Por ejemplo para convertir todos los ficheros del directorio actual de Latin1 a UTF-8 debemos ejecutar:

$ convmv -f latin1 -t utf-8 *

Opciones interesantes son ‘-r’ para recursividad y ‘–list’ para conocer la lista de codificaciones soportadas. También tenemos ‘–unescape’ que sustituye las secuencias %hex utilizadas en las URLs. Esto es muy interesante para convertir el nombre de ficheros descargados con wget. Recomiendo la lectura atenta del manual para conocer todas las posibilidades de este programa.

Por último comentar que convmv por defecto funciona en modo test. Es decir, el ejemplo anterior no hace ningún cambio. Para desactivar el modo test basta con añadir la opción –notest.

$ convmv --notest -f latin1 -t utf-8 *

Comentarios

Entradas populares de este blog

Comandos Solaris

MikroTik QoS Script generator

Comando para eliminar saltos de linea en fichero o archivo desde consola Linux