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

Entrée/Sortie Java Discussion :

Problème d'encodage d'une commande lancée par java


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Problème d'encodage d'une commande lancée par java
    Bonjour !

    Je vais essayer d'être claire sur mon problème !

    J'ai développé un petit programme java qui est chargé de lancer une commande shell de la manière suivante :

    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
    String command = "./commande.sh";
     
      File file = new File("commande.sh");
      try {
     
     
              FileOutputStream outputStream = new FileOutputStream(file);
          OutputStreamWriter writer = new OutputStreamWriter(outputStream,"ISO8859_15_FDIS");
          writer.write(commande);
          writer.write(parametre);
          writer.write("\n");
          writer.close();
    } catch (IOException e) {
          System.out.println("le fichier de commande n'est pas crée "+e);
        }
    le code ici, c'est pour montrer comment j'écris mon fichier .sh.

    Mon problème : dans ma chaîne "parametre" qui est récupérée d'un mail qui arrive dans le programme en entrée standard (grâce à un .forward contenant un pipe), j'ai à l'origine, des caractères accentués.

    Or, lorsque j'écris ma commande, ceux-ci se transforment en "?" , et visiblement aussi quand ils rentrent dans le programme.

    Ma question : comment faire, et à quel moment encoder ces caractères pour que je puisse récupérer les accents ???

    Pour info : System.getProperty("file.encoding") me donne ISO8859-1

    Merci beaucoup pour votre aide !!!

    Posez moi des questions si j'ai été trop floue !!

  2. #2
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Si j'ai bien compris, en faisant un System.out.println(parametre); avant ce bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
          OutputStreamWriter writer = new OutputStreamWriter(outputStream,"ISO8859_15_FDIS");
          writer.write(commande);
          writer.write(parametre);
    le texte comportera les caractères accentués.

    Et quand tu ouvre le .sh, les caractères accentués sont remplacés par des ?

    Autre question, avec quel éditeur ouvres-tu le .sh ?
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Tu peux éventuellement encoder avec java.net.URLEncoder et décoder avec java.net.URLDecoder

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/02/2007, 23h47
  2. [Système] Autorisation d'execution d'une appli lancée par php
    Par SegmentationFault dans le forum Langage
    Réponses: 1
    Dernier message: 20/10/2006, 15h29
  3. [VB]Problème d'exécution d'une commande dos...
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 17/02/2006, 12h28
  4. Réponses: 3
    Dernier message: 16/12/2005, 15h44
  5. [Débutant(e)] Ou trouver la commande lancée par eclipse
    Par Emdis dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/11/2004, 11h00

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