Bonjour,
J'ai un pb sur la conversion d'un code ISO qui est effectué par soit le post http ce qui n'a pas de sens(pourquoi il modifirais le fichier?), soit par la lecture du fichier xml.
Je fais un post http d'un document xml (Content-Type: text/xml) sur une servlet.
Cette servlet traite le fichier xml, et retourne reponse.setContentType("text/html");
C'est classique et même vieux (jvm 1.3) cf code.
Le pb vient des codes iso car pour les code HTML cela fonctionne.
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
16
17
18
19
20 public void service(HttpServletRequest requete, HttpServletResponse reponse){ PrintWriter out =null; String fluxRecu=null; try{ out= reponse.getWriter(); reponse.setContentType("text/html"); int readBytes = -1; int lengthOfBuffer = requete.getContentLength(); if(lengthOfBuffer !=-1) { //on lit le flux d'entrée InputStream input = requete.getInputStream(); byte[] buffer = new byte[lengthOfBuffer]; int offset = 0; while((readBytes = input.read(buffer, offset, lengthOfBuffer-offset)) != -1) { offset+=readBytes; } fluxRecu = new String(buffer,0,buffer.length); } }
Exemple :
Caractère Code ISO Code HTML
" " "
& & &
Les codes iso sont convertit en caractères mais je veux garder le flux d'origine qui contient par exemple .
<balise1>j"arrive</balise1>
<balise2>& # 38; demain</balise2>
est transformé en
<balise1>j"arrive</balise1>
<balise2>& demain</balise2>
et cela ne va pas . Il ne devrait pas convertir <balise2> sans raison.En effet la string fluxrecu n'est pas vraiment ce que j'avais dans mon post xml....
Est ce que quelqu'un à une idée de solutions ?
Merci
Partager