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 !!