J'ai 3 types de codages file name
sur le disque dur monté reiserfs
: CP1251, KOI-8, UTF-8 et ASCII. J'ai vraiment besoin de convertir tous les encodages en UTF-8, de manière récursive. Existe-t-il un utilitaire permettant de détecter le codage source et de le convertir en UTF-8 ou de devoir écrire Python script?
Utilisez convmv, un outil CLI qui convertit le nom de fichier en différents encodages. Pour convertir (-f
) ces liaisons en (-t
) UTF-8, procédez comme suit:
convmv -f CP1251 -t UTF-8 inputfile
convmv -f KOI-8 -t UTF-8 inputfile
convmv -f ASCII -t UTF-8 inputfile
De plus, si vous souhaitez convertir le contenu du fichier, utilisez iconv
, un outil CLI permettant de convertir le contenu du fichier en différents encodages. Pour convertir (-f
) ces liaisons en (-t
) UTF-8, procédez comme suit:
iconv -f CP1251 -t UTF-8 inputfile > outputfile
iconv -f KOI-8 -t UTF-8 inputfile > outputfile
iconv -f ASCII -t UTF-8 inputfile > outputfile
Nan. L’un des gros inconvénients de l’ancien système de pages de codes est qu’il n’ya aucun moyen de détecter celle qui est utilisée; vous devez simplement le savoir a priori. Si vous savez quels fichiers utilisent quel encodage, vous pouvez convertir les noms en utilisant quelque chose comme:
mv somefile `echo somefile | iconv -f CP1251 -t UTF-8`