57 votes

Conversion par lots de l'encodage dans les fichiers

Comment puis-je convertir par lot les fichiers d'un répertoire pour leur encodage (par exemple ANSI UTF-8) avec une commande ou un outil ?

Pour les fichiers uniques, un éditeur est utile, mais comment faire le travail pour les fichiers de masse ?

2voto

Bedla Points 121

Dans mon cas d'utilisation, j'avais besoin d'une détection automatique de l'encodage d'entrée et il y avait beaucoup de fichiers avec des codes d'entrée. Windows-1250 pour lequel la commande file -bi <FILE> renvoie à charset=unknown-8bit . Ce n'est pas un paramètre valide pour iconv .

J'ai eu les meilleurs résultats avec enca .

Convertir tous les fichiers avec l'extension txt en UTF-8

find . -type f -iname *.txt -exec sh -c 'echo "$1" && enca "$1" -x utf-8' -- {} \;

1voto

Aneesh Garg Points 111
iconv -f original_charset -t utf-8 originalfile > newfile

Exécutez la commande ci-dessus dans un for boucle.

1voto

kinORnirvana Points 1251

Utilisez ce script Python : https://github.com/goerz/convert_encoding.py Il fonctionne sur n'importe quelle plateforme. Nécessite Python 2.7.

0voto

Mark Points 251

Il y a dos2unix sur Unix. Il existait un autre outil similaire pour Windows ( une autre référence est ici ).

Comment convertir des fichiers texte Unix en fichiers texte Windows ? a d'autres astuces.

0voto

egmont Points 7095

Il existe un convertisseur d'encodage par lot gratuit et open source nommé Convertisseur CP .

CP Converter screenshot

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X