Cuando se trabaja con diferentes versiones de sistemas operativos y pasas grandes bloques de fichero con frecuencia de uno a otro te sueles encontrar a menudo con un problema: las conversiones entre distintos juegos de caracteres. Uno de los casos más molestos es cuando copias árboles de directorios de windows a GNU/Linux y te encuentras con que los carácteres especiales (eñes, vocales acentuadas, etc.) no se han copiado correctamente impidiéndote, incluso, manipular dichos ficheros y directorios desde determinados programas. La herramienta convmv, disponible en la «paquetería» por defecto de las principales distribuciones, nos proporciona una forma rápida y cómoda para solucionar este problema.
convmv ofrece la posibilidad de convertir entre prácticamente cualquier juego de caracteres. La sintaxis para pasar de ficheros creados en un sistema windows al formato correcto en la mayoría de los Linux que ya usan UTF-8 por defecto es el siguiente:
convmv --notest -r -f cp1252 -t utf-8 /mnt/datos/windows/*
Esto realizaría los cambios de forma de forma recursiva (-r
) en todos los archivos a partir del directorio /mnt/datos/windows. El formato origen (-f
) es el cp1252 y el final (-t
) utf-8. Si eliminamos el argumento --notest
la herramienta nos hará una simulación por pantalla de los cambios a realizar para que comprobemos previamente si estamos escogiendo correctamente los formatos de origen y destino.
muchas gracias es de gran utilidad