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