Caractères spéciaux fichiers linux

Fermé
ponsk Messages postés 35 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 3 février 2009 - 31 janv. 2009 à 17:58
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 20 mars 2011 à 13:39
Bonjour,
on ne m'a pas répondu précédemment, alors je réitère ma question, qui a l'air simple:
Je suis nouveau sur Kubuntu 8.10, avec KDE 4.2, j'avais sauvegardé mes documents sur un disque externe, et les ai copier sur mon nouvel ordi... bref surprise et gros probleme, beaucoup de fichiers sont dit "inexistant" lorsque j'essaye de les ouvrir, et même quelques dossiers. J'ai alors vite remarqué que ces dossier avait un point commun: un caractère spécial dans leur nom de fichier, comme un "é", ou des trucs espagnols genre ! renversé, ? renversé... et ces caractères sont alors remplacé par un "?" dans un losange noir. Ainsi, je n'ai plus accès à "mes vidéos", ni "mes fichiers reçus", ni "disco mégamix!.mp3"...

on m'a dit que c'est mon kde qui bug, mais j'suis un noob et je ne pense même pas savoir le réinstaller :p. D'autre part, ces caractères s'affichent très bien dans mon browser préféré, mais pas dans les nouveaux fichiers (donc pas bug de transfert?)... dois-je installer une font, ré-installer kde? comment?
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
31 janv. 2009 à 18:02
Salut,

Affiche l'arborescence de ton répertoire avec les fichiers et répertoires qui posent problème :
ls -l /chemin/répertoire/*
0
ponsk Messages postés 35 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 3 février 2009 3
3 févr. 2009 à 20:40
une fois cette arborescence affichée, je fais quoi?



(ça me donne par exemple (tel quel):)

ponsk@romain09:~$ ls -l /home/ponsk/sauvegarde/sauvegarde_romain/rom
total 3924
drwxr-xr-x 17 ponsk ponsk 4096 2008-12-31 16:58 Application Data
drwxr-xr-x 4 ponsk ponsk 4096 2008-12-31 16:58 Bureau
drwxr-xr-x 5 ponsk ponsk 4096 2008-12-31 16:59 Contacts
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 16:59 Cookies
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 16:59 dwhelper
drwxr-xr-x 4 ponsk ponsk 4096 2008-12-31 16:59 Favoris
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 16:59 Incomplete
-rw-r--r-- 1 ponsk ponsk 80 2008-04-26 19:51 karoshi2.sav
-rw-r--r-- 1 ponsk ponsk 74 2008-04-19 18:55 karoshi.sav
drwxr-xr-x 6 ponsk ponsk 4096 2008-12-31 16:59 Local Settings
drwxr-xr-x 3 ponsk ponsk 4096 2008-12-31 17:04 Menu D?marrer
drwxr-xr-x 16 ponsk ponsk 4096 2008-12-31 16:48 Mes documents
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 17:05 Mod?les
-rw-r--r-- 1 ponsk ponsk 3932160 2008-05-20 22:47 NTUSER.DAT
-rw-r--r-- 1 ponsk ponsk 1024 2008-05-20 22:47 ntuser.dat.LOG
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 17:04 Recent
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 17:05 SendTo
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 17:05 Shared
drwxr-xr-x 6 ponsk ponsk 4096 2008-12-31 17:05 UserData
drwxr-xr-x 2 ponsk ponsk 4096 2008-12-31 17:05 Voisinage d'impression
drwxr-xr-x 3 ponsk ponsk 4096 2008-12-31 17:05 Voisinage r?seau
0
Bonsoir à toi !

Le problème que tu as est simple à analyser, un peu moins à résoudre (mais c'est pas la mort ^^).

Le problème que tu as vient d'une divergence entre l'encodage de tes fichiers et celui utilisé par ton système.
L'encodage, c'est la correspondance entre les bits (0101011 etc) et les caractères humains (eàç! etc...).
Il y a des années, avant que les échanges informatiques ne deviennent communs, chaque pays ou région du monde avait défini sa propre manière d'encoder ses caractères (je dis ça au pif, mais par exemple notre ç serait codé 1110 en Europe. Mais en Chine, cela correspondrait à un kanji).
Depuis, il a fallu définir un encodage universel, donc qui comprenne tous les caractères de tous les pays.
Aujourd'hui il existe l'UTF8 (courant et standard sur les systèmes récents) voire l'UTF16 (pour le futur ^^).
Si on reprend notre caractère spécial ç, en UTF8 il serait codé 11011100.

Il est probable que ton système utilise l'encodage UTF8, alors que tes données proviennent probablement d'un système utilisant l'encodage ancien (ISO européen). Tu comprends aisément qu'il ne s'y retrouve pas (d'où le ? à la place des caractères spéciaux).
Hors le ? est un symbole spécial pour le système, d'où la non-reconnaissance du nom de fichier par tes applications.

Pour vérifier l'encodage de tes fichiers, utilises ton navigateur : sous Firefox par exemple, tu peux forcer le choix du "décodeur" dans le menu "Affichage > Encodage des caractères" : Sélectionnes l'utf8 puis l'iso occidental : lorsque tes noms de fichiers s'affichent correctement, tu as trouvé quel encodage est utilisé pour tes fichiers (à priori l'ISO occidental).

Donc :
1. Pour tes dossiers, renommes-les à la mimine en enlevant tout caractère spécial (pour être peinard quoi qu'il arrive).
2. Pour les fichiers, soit tu utilises un outil pour les renommer en enlevant/remplaçant les caractères spéciaux (ex Krename ou gwenrename sous linux).
3. Soit (ou en plus) tu convertis leur encodage dans l'encodage de ton système. (par exemple avec konq-toutf8, paquet disponible sous Ubuntu).

Voilou !

PS : Bon, je viens de voir que le post date d'il y a perpète, mais tant pis, si d'autres retombent dessus, ça peut toujours servir... :)
0
Excellente explication Citan.

Par contre il y encore plus simple : si cette daube de Dolphin n'arrive pas à traiter ces fichiers, il suffit d'utiliser Nautilus pour les copier (certes ça suppose d'avoir installé les bibliothèques Gnome, mais au moins on a un gestionnaire de fichier qui tient la route, et qui ne force pas à lancer un shell à la moindre opération...)

Certes l'encodage des fichiers ne sera pas changé, mais au moins ça ne dit pas "fichier introuvable" dès que l'on tente de le déplacer ou le renommer...
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
20 mars 2011 à 13:39
Salut,

Pour changer l'encodage des fichiers il y a "iconv" :

iconv -f encodage_actuel -t encodage_souhaité fichier -o nouveau_fichier
0