web-dev-qa-db-fra.com

Impossible de copier sur un disque dur externe à cause d'une erreur: "Multipoctet ou caractère large non valide ou incomplet"

J'ai un disque dur USB externe sur lequel je veux sauvegarder ma musique.

Lorsque j'essaie d'utiliser rsync ou cp, la plupart des fichiers sont copiés, mais certains ne le sont pas à cause de cette erreur:

invalid or incomplete multibyte or wide character

Comment puis-je réparer ça?

Pour référence, voici comment le lecteur source est monté:

 /dev/sdb3 on /media/Music type vfat
 (rw,nosuid,nodev,noexec,noatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro,user)
 [Music]

Voici comment le lecteur externe USB (destination) est monté:

 /dev/sdf1 on /media/username/Seagate Backup Plus Drive type fuseblk
 (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
 [Seagate Backup Plus Drive]

Toute aide serait appréciée!

5
user2662680

Pour quiconque est curieux, j'ai résolu ce problème. J'ai d'abord déterminé que le jeu de caractères sur l'ancien lecteur VFAT était ISO-8859-1 (très commun pour Windows). J'ai ensuite exécuté une commande rsync avec la possibilité de convertir l'ancien jeu de caractères en UTF-8, ce qui a permis de résoudre le problème.

Exemple:

rsync -vaW --size-only --iconv=ISO-8859-1,utf-8 /media/Music/* '/media/username/Seagate Backup Plus Drive/Backup - Music/Music' > ~/rsynclog.txt

J'espère que ça aide quelqu'un d'autre!

4
user2662680

Si le problème est spécifique à votre système (par exemple, une copie d'un fichier avec des caractères spéciaux dans leurs noms fonctionne sous Windows ou sur une autre distribution GNU/Linux), vous pouvez ajouter l'option iocharset = utf8 à la fin de votre commande de montage. Cela a résolu le problème pour moi.

1
Amaranthe