p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2011
    Messages : 22
    Points : 26
    Points
    26

    Par défaut Perl et les accents français!?!?

    Bonjour à tous,

    Je m'occupe d'un petit parc informatique d'une vaintaine d'employés.
    J'ai installé sur chaque poste (XP/Vista/7), un logiciel qui fait des sauvegardes quotidiennes, mais localement seulement.

    Je veux ouvrir un répertoire en partage, sur un serveur de fichier et, m'assurer d'une copie de chaques sauvegardes, de chaques postes.

    J'ai créer un script Perl qui, entre autres, fait une listes des fichiers qui sont dans le répertoire d:/Backup et les copie, sur le partage distant.

    Le problème est que si un nom de fichier contient un accent (à, ç, é, etc.), l'accent est remplacé par un symbole quelconque (i.e. é devient Ü).

    Par trace, je vois que les accents ont déjà été modifié au moment de la lecture du répertoire; avant même qu'ils soient copiés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    opendir hDossierALire, $dir || die("Impossible d'ouvrir le dossier...");
     
    print "\n\nListe A : \n\n";
     
    foreach $nomFichier (readdir hDossierALire) 
    {
        print $nomFichier."\n" if $nomFichier =~ m/zip$/i;      # Les accents sont changés.
        push (@liste_A, $nomFichier) if $nomFichier =~ m/zip$/i;   
    }
     
    close (hDossierALire);
    Merci pour votre aide et vos suggestions.

  2. #2
    Nouveau Membre du Club
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2011
    Messages : 22
    Points : 26
    Points
    26

    Par défaut

    Bonjour à la communauté,

    À force de poursuivre mon scripte et faire des tests, je me suis rendu compte que les caractères ne change qu'à l'affichage.

    Lorsque la copie des fichiers s'éffectue, les accents sont correctement transposés, de l'original au fichier copié.

    Par contre, j'ai eu beaucoup de misère avec le fait que les fichiers de backups, contenaient des espaces et des points-virgules.

    J'ai pu corrigé le format des noms de fichiers pour qu'il ne contiennent plus d'espace ou de point-virgule.

    J'ai dû, par contre, faire un scripte pour renommer sur les postes, les fichiers de backups déjà créer.

    MAIS : Le scripte renomme les fichiers sans problème avec les accents.

    Scripte pour renommer les fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    # Change un fichier : Backup 2012-04-10 16;18;13 (Différentielle.)
    # en un fichier        : Backup_2012-04-10_16h18m13s(Différentielle.)
     
    $dir = "C:\\repertoire";
    opendir hDossierALire, $dir || die("Impossible d'ouvrir le dossier...");
     
    foreach $nomFichier (readdir hDossierALire) 
    {
        push (@liste_A, $nomFichier) if $nomFichier =~ m/zip$/i;   
    }
     
    close (hDossierALire); 
     
    foreach $nomFichier (@liste_A) 
    {
        $nomFichierA = $nomFichier;    
        $nomFichier =~ s/\s+/_/g;
        $nomFichier =~ s/\;/h/i;
        $nomFichier =~ s/\;/m/i;
        $nomFichier =~ s/_\(/s\(/i;
        $old = "C:\\repertoire\\".$nomFichierA;
        $new = "C:\\repertoire\\".$nomFichier;
        rename($old, $new);
    }
    Bref, quand j'aurai besoin d'écrire un scripte qui devra afficher des caractères accentuées à l'écran, j'aurai alors un problème mais, pour l'instant, Perl fait mon bonheur.

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 570
    Points : 492 187
    Points
    492 187

    Par défaut

    Voici un lien important à lire : http://perl.developpez.com/faq/perl/...ListerFichiers

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Les accents français en Ruby
    Par MarcRay dans le forum Ruby
    Réponses: 8
    Dernier message: 16/03/2012, 21h28
  2. Réponses: 2
    Dernier message: 05/01/2012, 10h08
  3. les accents et perl ?
    Par Girzi dans le forum Langage
    Réponses: 2
    Dernier message: 18/08/2006, 13h27
  4. {debutant} perl et les accents...
    Par kriskikout dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2006, 17h47
  5. [firebird 1 et les accents français]
    Par Lucien dans le forum Débuter
    Réponses: 2
    Dernier message: 06/10/2005, 13h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo