Forum Clubic

Charset conversion en masse

salut
j’ai une grande quantité de fichiers en charset utf8, et j’ai besoin de la passer en iso8857
existe il un outil de conversion en masse? sinon, c’est pas le top : il faudrait ouvrir tous les fichiers pour les enregistrer dans le nouveau charset …
merci
++

iso8859 non ?

Sous Linux, tu peux installer recode et lancer la commande suivante :
recode utf8…latin1 liste_de_tes_fichiers

Sous Windows, je n’en sais rien.

C’est pas de la prog ça, je déplace :slight_smile:

oki merci
désolé pour la mauvaise catégorie,
c’est juste que mon problème s’applique au porjet java sur lequel je travaille
et puis, juste au cas où, il y aurai pu avoir une solution en bash ou autre …

En bash : (il faut que le package recode soit installé)
Fais une sauvegarde du projet (on ne sait jamais), mets-toi dans le dossier de ton projet, puis :

find . -iname "*java" -exec recode utf8..latin1 {} \;

oki merci
et si j’aurai su, je serai venu voir les réponses plutot
vu que je me suis galérer toute l’aprem à trouver cette ligne de commande qui va bien

bon après le problème ça déconne : ça marche vraiment que pour peu de fichiers:

  • à la 1ere execution : il dit qu’il réussi tout, sauf que ce n’est pas le cas
  • ça se vérifie pour 90% des fichiers en les ouvrant / enregistrer sous : l’encodage par defaut reste utf8
  • à la 2e execution, il gueule juste sur ceux qui ont été vraiment convertis Entrée invalide)(-exec recode utf8…latin1 {} \; (si il avait vraiment tout converti la 1er fois, il devrait gueuler pour tous

pourtant j’ai créé tous les fichiers dans eclipse, alors je vois pas trop là
j’ai essayé d’insérer des sleep entre le traitement de chaque fichier
ou même des fichiers tout seul individuellement : ils veulent pas ! argh

j’y sens que ça va finir par un fichier/ouvrir/enregistrer sous/ encoding iso8859 avec tous les fichiers 1 par 1 à la main
vu que c le seul truc qui à l’air de marcher

J’ai plutôt tendance à faire l’opération inverse (recode latin1…utf8), et ça marche plutôt bien, bizarre que dans l’autre sens ça merde :confused:

Enfin je pense qu’il doit y avoir un moyen d’automatiser ça, parce qu’à la main c’est clair que ça va être galère. Mais pour l’instant je ne vois rien d’autre que recode…

je crois que ça va finir comme ça à la main pourtant

j’ai un autre problème : j’ai fais la manip pour passer la locale de ubuntu en iso8859, mais ça résoud pas tout le problème : qd je crée un nouveau fichier il est toujours en utf8 et je voudrais qu’il soit en iso8859. quelle est la manip?

au passage : je sais que l’utf8 c’est l’avenir, mais là j’embète tout le monde avec mon petit bout du projet pas encodé comme tout le monde … donc …