Eliminar Caracteres extraños en unidades extraíbles

Buenas noches, hace unos días me venía molestando un problema en Arch Linux.

Cuando montaba una memoria USB con la que estaba trabajando en Windows, me salían caracteres extraños en los nombres de los archivos.

Traté varias soluciones, cambiando los locales a es_CO.iso8859-1 (Latin1), cambiando opciones en /etc/fstab y no daba con la solución.

Con la ayuda de pmount, supe que el iocharset de la memoria era ISO8859-1, en parroquiano: la codificación no tenía compatibilidad con los nombres de archivos de sistemas Windows:

$ pmount
Printing mounted removable devices:
/dev/sdb1 on /media/CRIS_USB type vfat (rw,nosuid,nodev,relatime,uid=1000,fmask=0022,dmask=0000,allow_utime=0022,                    codepage=cp437,iocharset=iso8859-1)
To get a short help, run pmount -h

Mi configuración en /etc/rc.conf dice LOCALE=”es_CO.UTF-8″ entonces la aparente solución era cambiar de algún modo ese iocharset para que quedara como UTF-8. Al leer las páginas del manual de mount encontré esto en la sección de fat (formato de memorias USB):

iocharset=value
Character set to use for converting between 8 bit characters and
16 bit Unicode characters. The default is iso8859-1.  Long file‐
names are stored on disk in Unicode format.

Eso confirmaba que las memorias se montaban con ese charset por defecto: ISO8859-1.

Ya me estaba dando por vencido hasta que encontré una solución que salió de la mezcla de varias páginas que consulté. Comparto con ustedes los pasos para solucionar el problema (Esto funciona en Gnome, si alguien que use otro entorno gráfico puede decirnos como hacerlo en ese(esos) entorno(s) es bienvenido):

1. Abrimos el editor de configuración de Gnome

$ gconf-editor

2. Vamos a System -»storage -» default_options -»  vfat y nos ubicamos en la ventana de la derecha donde se ven claves, en este caso vemos una que dice mount_options

3. Editamos esa clave haciendo doble click en ella y nos aparece un botón para añadir más opciones a la clave, pulsamos este botón:

4. Añadimos como opción iocharset=utf8 . Guardamos los cambios dando click en aceptar y cerramos el editor de configuración de Gnome.

NOTA: Se escribe utf8 (todo pegado), probé muchas veces con utf-8 (el nombre lógico del charset) pero la unidad no se montaba. Al ver dmesg | tail aparecía: FAT: IO charset utf-8 not found. Así que no lo olviden, se escribe utf8 en la opción de montaje.

5. Por último, disfrutar de nuestros archivos con sus nombres bien escritos después de volver a montar la unidad USB

Y la salida de pmount nos dice:

$ pmount
Printing mounted removable devices:
/dev/sdb1 on /media/CRIS_USB type vfat (rw,nosuid,nodev,relatime,uid=1000,fmask=0022,dmask=0000,allow_utime=0022, codepage=cp437,iocharset=utf8)
To get a short help, run pmount -h


Don’t Worry………Be Linux!!!!!!!!!!!


3 Responses to “Eliminar Caracteres extraños en unidades extraíbles”

Leave a Reply