Cambiar la codificación del nombre de los ficheros en Linux

Suele pasar que a la hora de copiar archivos con acentos o ñ en su nombre, desde unos sistemas a otros como Windows o MAC, Linux cambia estos símbolos por ? y añade al final del nombre del fichero el texto  «(codificacion no valida)«. y puede darnos problemas para abrir

Esto ocurre porque nuestro sistema tiene una codificación de caracteres diferente al sistema de donde copiamos los archivos, y llega hasta el caso de que depende hacia que sentido copiemos los archivos, estos no son posible trasferirlos de un sistema a otro por este problema de codificación, por lo que vamos a ver como cambiar la codificación del nombre del documento (no del contenido) a la misma de nuestro sistema para no tener problemas.

El primer paso es saber la codificación de nuestro sistema con este comando que en Linux debería de ser UTF-8:

echo $LANG

Para poder realizar esta conversión entre sistema de caracteres, necesitamos instalar el siguiente comando de la forma:

sudo apt install convmv

Una vez instalado vamos a ver el por ejemplo como cambiar la codificación de caracteres de un sistema iso-8859-1 típico de sistemas windows a un utf-8 típico de Linux. La forma sería la siguiente:

convmv -f iso-8859-1 -t utf-8 nombrefichero

Así este comando no modifica nada, solo realiza un test de conversión y te dice si lo convertiría y como quedará la conversión. Para realizar ya la conversión real cuando tenemos claro que lo va hacer bien según la simulación, añadiríamos el flag –notest de la forma:

convmv --notest -f iso-8859-1 -t utf-8 nombrefichero

Donde:

f -> Es la codificación origen a sustituir.

t -> La codificación a la que queremos convertir.

–notest -> Con este flag para indicar que queremos realizar la conversión de forma real.

Por otro lado si queremos saber la lista de los sistemas de codificación de caracteres que es capaz de manejar este comando, lo podremos ver a través de este flag:

convmv --list

Como hemos dicho anteriormente convmv sirve para cambiar solo la codificación del nombre del fichero, para cambiar la codificación del contenido usaremos el comando iconv que tienes en este enlace: Cambiar la codificación de caracteres del contenido de un fichero en Linux

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *