1

yop,

Comment faire pour convertir plusieurs fichiers de l'encodage 8859-1 à l'UTF-8 ? J'en ai marre de devoir spécifier le bon encodage dès que je les ouvre dans un éditeur, j'aimerais el faire une bonne fois pour toute. Pour info, je suis sous Fedora 10 (ou 8 (ou Debian 5 aussi (bon aller, même sous XP cheeky))). Non mais sous Fedora, si ya un outil dispo prêt pour ça je suis preneur, merci d'avance. happy

2

iconv ?

edit : pour être un chouilla plus explicite : http://www.delafond.org/traducmanfr/man/man1/iconv.1.html
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

3

tiens, je ne connaissais pas, mais c'est intéressant happy
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4

Merci Kim happy

5

iconv est sympa, mais ne vaux pas grand chose a coté de ICU (la seule lib qui pese a elle tout seule plusieurs dizaines de mega juste en ressources ^^ (d'ailleurs suffit de regarder les démos pour comprendre : http://demo.icu-project.org/icu-bin/icudemos (icu ne fait pas que des conversion de format a un autre... grin))))
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

6

D'ailleurs j'y arrive pas, je fais "iconv -f ISO_8859-1 -t UTF-8 *.txt"
Le wildcard passe sans problème, il m'affiche sur stdout, mais rien n'est converti. J'ai raté un truc évident ? Mon encodage spécifié à la base n'est pas le bon ? Comment le connaitre du reste ?

7

oui tu as raté un truc evident grin


iconv sort sur stdout sauf si explicitement demandé par -o hehe (cf le manpage posté plus haut tongue)


je te conseillerais plutot un

find . -iname \*.txt | xargs -L1 -n1 -I%% iconv -f ISO_8859-1 -t UTL-8 %% -o %%

et si possible faire plutot pour etre sur que tout va bien :
mkdir result
find . -iname \*.txt | xargs -L1 -n1 -I%% iconv -f ISO_8859-1 -t UTL-8 %% -o result/%%

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

8

Attention, un iconv sur le fichier lui-même va t'écraser ton fichier et tu vas tout perdre! En revanche, la deuxième solution devrait marcher.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Merde, j'ai rien compris en effet grin Godzil, je comprends rien à tes commandes, je vais regarder les man grin

J'aurais plus pensé à un "iconv truc machin texte > texte2" Ca irait pas ?

10

Si si, ça fonctionnerait aussi (à partir du moment où tu précise bien deux fichiers différents pour la source et la destination).

La ligne de Godzil est un moyen un peu compliqué de rechercher tous les fichiers qui finissent par ".txt" (appel à "find") puis d'exécuter iconv sur chaque ligne du résultat (donc sur chaque fichier) en lui précisant comme paramètre le nom du fichier (appel à "xargs"). D'ailleurs pas besoin de passer par xargs, find peut s'en sortir aussi avec une ligne du style "find . -iname \*.sh -exec iconv -f ISO_8859-1 -f UTF-8 {} -o result/{} \;" qui fait grosso modo la même chose (enfin sauf que théoriquement on ne peut pas utiliser deux fois {} dans les arguments de -exec, mais en pratique je n'ai jamais constaté cette limitation).
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

(t1 chui à la ramasse en shell moi couic merci quand même cheeky)