Hello,
Windows-1252 n'utilise pas le caractère 8D, donc si tu as des fichiers encodés en Windows-1252, ils ne devraient pas avoir de 8D. Si tu en as, c'est le logiciel qui créé le fichier d'origine qui est en erreur (et donc pas iconv).
Cela étant, tu peux utiliser tr pour modifier les caractères qui te posent problème avant de passer par iconv. Exemple bidon, j'ai un fichier qui contient AAADD mais je ne veux pas de D et je veux des _ à la place :
1 2 3 4 5 6 7 8 9 10 11
| $ cat car.txt
AAADD
$ od -tx1 car.txt
0000000 41 41 41 44 44 0a
0000006
$ tr '\104' '_' < car.txt > car2.txt
$ cat car2.txt
AAA__
$ od -tx1 car2.txt
0000000 41 41 41 5f 5f 0a
0000006 |
od -tx1 affiche un fichier en hexa : le A vaut 41 et le D 44
tr permet de transposer les occurrences des D (hex 44 = oct 104) en _
Donc si tu fais un
tr '\215' '_' <ton_fichier>
, tu vas virer les caractères qui te gênent...
Partager