IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

passer des arguments accentues a perl (sous windows)


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 30
    Points : 26
    Points
    26
    Par défaut passer des arguments accentues a perl (sous windows)
    TCho

    bon ma question est ridicule mais je n'ai pas trouve de solution sur le net...

    je suis sous windows (oui je sais c'est mal... ) et sous cmd.exe

    et le je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    C:\perl\work>perl toto.pl ééééé
    ##############################################################
    Debut du traitement : Mercredi 13 Septembre 2006 15:44:25
    ##############################################################
    parametre : ÚÚÚÚÚ
    pourquoi mon argument recu n'est pas ééééé ????... (la commande de mon toto.pl est "print @ARGV;")

  2. #2
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    un "simple" problème d'encodage... pour le résoudre par contre, je ne sais pas

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Cherche un peu sur le forum, tu trouveras un certain nombre de message là-dessus.

    --
    Jedaï

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 30
    Points : 26
    Points
    26
    Par défaut
    j'ai cherche avec "argument" et/ou "windows" et/ou "accent"... et je n'ai rien trouve...

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    J'ai l'impression soit que la recherche déconne sur notre forum, soit que les nettoyeurs ont été trop efficaces...
    Bref ton problème vient plutôt de ce que la console DOS sous Windows n'a pas le même encodage que le reste de l'environnement Windows, soit tu changes cet encodage (avec la commande DOS "chcp"), soit tu gères ça dans ton programme Perl avec le module Encode.

    --
    Jedaï

  6. #6
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par Jedai
    Bref ton problème vient plutôt de ce que la console DOS sous Windows n'a pas le même encodage que le reste de l'environnement Windows, soit tu changes cet encodage (avec la commande DOS "chcp"), soit tu gères ça dans ton programme Perl avec le module Encode.
    J'ai peur que le problème ne soit pas si simple ...

    Je viens de vérifier : dans une fenêtre de commandes MS-DOS, j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -e "print @ARGV;" ééé
    Cela devrait afficher "ééé", or ça affiche "ùùù".

    Le problème ne vient donc pas seulement de la différence entre le codage ASCII du DOS et le codage ANSI de windows. En effet, en procédant comme je le fais, tout devrait être ASCII, d'un bout à l'autre puisque je reste dans la fenêtre des Commandes MS-DOS.

    Ou alors (je réfléchis au fur et à mesure de mon message ), Windows intercepte les paramètres et les traite en ANSI pour les passer à PERL ... ce ne serait pas exactement un modèle de transparence de l'OS vis-à-vis des programmes et processus
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 30
    Points : 26
    Points
    26
    Par défaut
    bon je crois que j'ai trouvé !... si je rajoute ca dans mon programme, les accents s'affichent bien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	$command=join(" ", @AGRV);
    	print encode("cp850",$command);
    en fait perl arrive tout seul a decoder les parametres qui lui arrivent de windows, par contre quand il ecrit dans la console, il le fait avec son encodage... d'ou la necessite de lui dire d'ecrire dans l'encodage de la console cmd.exe (que l'on trouve en tapant la commande chcp).

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

Discussions similaires

  1. Passer des arguments pour appli windows (execution console)
    Par death_style dans le forum Visual C++
    Réponses: 1
    Dernier message: 15/02/2010, 13h19
  2. Installer Perl sous windows
    Par photorelief dans le forum Langage
    Réponses: 20
    Dernier message: 09/04/2008, 19h05
  3. Faire passer des arguments via window.open()
    Par juanqui dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/02/2007, 19h27
  4. Copier des fichiers en Perl sous Windows XP
    Par Pauli dans le forum Langage
    Réponses: 1
    Dernier message: 19/02/2007, 09h40
  5. [langage]parcours fichier txt en perl sous windows
    Par stef74 dans le forum Langage
    Réponses: 12
    Dernier message: 23/06/2005, 16h39

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