Forum général.cherche-logiciel Pour passer une liste de fichiers 8859 en utf-8 ?

Posté par  .
Étiquettes : aucune
0
12
fév.
2006
Bonjour,
je souhaite passer l'ensemble de mon site de l'encodage charset ISO-8859-1 à UTF-8. Je dois donc ré-encoder nombres de fichiers php...

Je n'ai jamais réussi à utiliser recode et autres, mais j'ai trouvé dans kwrite (c'est sûrement possible dans d'autres applications) qu'à l'enregistrement d'un fichier, on peut choisir un nouvel encodage.
Parfait ! Enfin presque, impossible de faire un truc du genre "find . -name *.php > kwrite -s -e utf-8".

Quel programme pourrais-je utiliser ? Si vi -ou vim- le fait, pourriez vous me donner la commande car je suis pas encore très doué sous linux.

D'avance merci.
  • # iconv

    Posté par  . Évalué à 4.

    Pour convertir un groupe de fichiers, iconv est certainement plus approprié que des programmes comme kwrite ou vi dont l'utilisation normale est le mode interactif.
  • # man iconv

    Posté par  . Évalué à 1.

    iconv -f iso8859-1 -t utf-8 fichier.iso8859-1 > fichier.utf8
  • # merci

    Posté par  . Évalué à 2.

    Cela marche et c'est assez pratique.

    Je donne la commande avec un exemple au cas où ça puisse servir :
    iconv french.lang.php -f iso-8859-1 -t utf-8 -o ufrench.lang.php
    • [^] # Re: merci

      Posté par  . Évalué à 1.

      avez-vous une solution pour changer tous les fichiers d'un dossier donné de cette manière automatiquement ?

      Car pour l'instant, je dois le faire fichier par fichier :(
      • [^] # Re: merci

        Posté par  . Évalué à 1.

        En suivant ton exemple, un truc du genre:

        for i in *.php; do iconv $i -f iso-8859-1 -t utf-8 -o u$i; done
        • [^] # Re: merci

          Posté par  . Évalué à 1.

          Oui mais mon site comporte de nombreux dossiers !

          Il me faudrait quelque chose de récursif et qui m'envoie le résultat vers un nouveau dossier avec le même site mais tout en utf8...
          De plus une partie des fichiers est déjà en utf8 cela posera-t-il des problèmes ?

          Encore merci, j'ai besoin de vous mon site est en péril :/
          • [^] # Re: merci

            Posté par  . Évalué à 1.

            (non testé)

            find srcDir -name \*.php -exec iconv {} -f iso-8859-1 -t utf-8 -o dstDir/{} \;
            • [^] # Re: merci

              Posté par  . Évalué à 1.

              find srcDir -name \*.php -exec iconv {} -f iso-8859-1 -t utf-8 -o dstDir/{} \;
              avec srcDir: la racine du site
              dstDir: un repertoire vide

              réponse :
              iconv: Ne peut ouvrir le fichier de sortie: Aucun fichier ou répertoire de ce ty pe
              iconv: Ne peut ouvrir le fichier de sortie: Aucun fichier ou répertoire de ce ty pe
              [...]

              On y est presque :?
              • [^] # Re: merci

                Posté par  . Évalué à 1.

                up? S'il vous plait
                • [^] # Re: merci

                  Posté par  . Évalué à 2.

                  Essaye de faire:

                  find srcDir -type d -exec mkdir dstDir/\{\} \;

                  avant de lancer l'autre commande. Ca devrait créer l'arborescence qui va bien.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.