Comment résoudre les problèmes du type "Invalid Encoding" (codage non valide) ?

Le problème d'invalid encoding ou (codage non valide) dans Ubuntu est dû à l'utilisation par défaut de UTF-8 pour le codage des partitions. Il peut arriver que dans certains cas le bon codage ne soit pas utilisé et des caractères bizarres s'affichent alors, par exemple : “�”. Cette page propose diverses solutions pour résoudre ce problème en fonction du cas de figure.

Comme expliqué sur la page d'installation des partitions windows, il faut ajouter ,iocharset=utf8,codepage=850 aux paramètres des partitions FAT32 qui peuveunt rencontrer ce problèmes. En ntfs l'option est très souvent définie par défaut.

Si vous avez une ancienne partition Linux qui n'utilisait pas UTF-8, utilisez l'outil convmv pour transformer les accents invalides en UTF-8. Il vous faudra peut-être également corriger des noms de fichiers écrits par Windows sur une partitions ext2 ou ext3.

Commencez par installer les paquets convmv, dos2unix.

Puis utilisez l'outil convmv avec les options désirées. Dans un terminal saisissez :

convmv -f iso-8859-15 -t utf8 -r --nosmart <fichier_a_convertir>

puis avec l'option supplémentaire

--notest

si vous voulez faire la conversion.

Par exemples :

  • Fichier transféré d'une partition Windows sur une partition UTF-8 ext :
    convmv -f cp1252 -t utf-8 -r --notest <fichier_a_convertir>
  • Fichier extrait d'une archive:
    convmv -f iso-8859-1 -t utf-8 -r --notest <fichier_a_convertir>

Pour faire une conversion récursive sur plusieurs fichiers :

convmv -r -f windows-1252 -t UTF-8 .

Adapter le charset au vôtre (ici windows-1252, mais ça peut être ISO-8859-1 ou encore cp-850).

Éventuellement cette discussion du forum ubuntu-FR parle des problèmes de nom lors de téléchargement de fichiers.

Si vos fichiers affichés sur des cdroms apparaissent avec un problème de type invalid encoding, alors il faudra modifier les paramètres du fichier /etc/fstab et ajouter UTF8 en option de lecture des lecteurs, ce qui peut donner par exemple:

/dev/hdc        /media/cdrom0   udf,iso9660 unhide,ro,user,noauto,utf8     0       0
/dev/hdd        /media/cdrom1   udf,iso9660 unhide,ro,user,noauto,utf8     0       0

Normalement, après redémarrage de l'ordinateur, il ne devrait plus y avoir de problèmes de type invalid_encoding avec les cdroms.

Pour ceux qui montent des images ISO avec la commande mount, voici la commande qui pourra vous aider :

sudo mount -o loop,iocharset=utf8 -t iso9660 imagesource.iso /destination

Le logiciel de récupération de fichiers Scalpel peut parfois donner un résultat sous la forme de "fichiers" dont le titre ressemble à peu près à ça :

?-0-0 (codage non valide)

Il s'agit en réalité de dossiers qui ne sont utilisables en tant que tel que par le super-utilisateur. Il vous faut donc modifier les droits sur vos fichiers.

  • tutoriel/comment_resoudre_les_problemes_invalid_encoding.txt
  • Dernière modification: Le 01/09/2022, 00:10
  • par moths-art