Encore et toujours un pb d'accents

Encore et toujours un pb d'accents - Java - Programmation

Marsh Posté le 09-05-2005 à 17:52:47    

Bonjour,
 
J'ai fait une appli Java qui communique avec Flash.
Flash me renvoit un "flux" qui est sensé être le contenu d'un fichier XML.
La servlet Java doit elle recuperer ce flux et l'écrire dans un fichier .xml
 
Tout est ok, mais les accents ça passe pas, le java me met n'importe quoi dans mon fichier ...
 
Voici mon code
 

Code :
  1. public class maServlet extends HttpServlet {
  2. BufferedReader reader = null;
  3. public void doGet(HttpServletRequest request, HttpServletResponse response)
  4.  throws IOException, ServletException {
  5.  Locale locfr = new Locale("fr","FR" );
  6.  ResourceBundle messages;
  7.  messages = ResourceBundle.getBundle("conf/MessagesBundle", locfr);
  8.  String chemin = messages.getString("chemin" );
  9.  PrintWriter out = response.getWriter();
  10.  String premier = "rien";
  11.  reader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8" ));
  12.  String ligne;
  13.  String toutTexte = "";
  14.  //FileOutputStream monfichier = new FileOutputStream(chemin);
  15.  while ((ligne = reader.readLine()) != null) {
  16.   toutTexte = toutTexte.concat(ligne);
  17.  }
  18.  try {
  19.     Writer outFile = new BufferedWriter(new OutputStreamWriter(
  20.      new FileOutputStream(chemin), "UTF-8" ));
  21.     outFile.write(toutTexte);
  22.     outFile.close();
  23.    } catch (UnsupportedEncodingException e) {
  24.    } catch (IOException e) {
  25.   }
  26. }
  27. public void doPost(
  28.  HttpServletRequest request,
  29.  HttpServletResponse response)
  30.  throws IOException, ServletException {
  31.  doGet(request, response);
  32. }
  33. }


 
 
Comment remedier à ce pb d'accent ?

Reply

Marsh Posté le 09-05-2005 à 17:52:47   

Reply

Marsh Posté le 09-05-2005 à 18:09:59    

Code :
  1. reader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8" ));


en évitant de faire n'importe quoi, rien ne dit que le client renvoit de l'UTF-8, par contre, il dit ce qu'il renvoit dans les entêtes HTTP. Au prix où coûte un conteneur de de servlet, il serait de bon ton d'utiliser ses faramineuses capacités en lui demandant de décoder lui-même les entêtes :
http://java.sun.com/j2ee/sdk_1.3/t [...] etReader()

Code :
  1. reader = request.getReader();


je te laisse le soin de vérifier s'il est réellement nécessaire ou pas d'utiliser un BufferedReader, j'ai pas l'info sous la main.


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed