Salut j'ai un formulaire qui permettra l'upload d'un fichier mais aussi l'enregistrement de 2 champs de texte, j'ai commencé par tester les champs textes mais lorsqu'il me les renvoie dans les formulaires les accents n'apparaissent pas normalement(é à la place de é par ex).
Voici mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
                            <form action="./EnvoiDocument#form" method="POST" enctype="multipart/form-data">
                                <input type="hidden" name="idMembre" value="<%= message.getIdMembre()%>" />
                                <div>Fichier à transmettre :</div>
                                <input type="file" name="fichier" value="" />
                                <div>Titre du message :</div>
                                <input type="text" name="titreMsg" value="<%= message.getTitreMsg()%>" size="30" maxlength="40" />
                                <div>Contenu du message :</div>
                                <textarea name="contenuMsg" rows="10" cols="100"><%= message.getContenuMsg() %></textarea>
                                <br/>
                                <input type="submit" value="Valider" name="kermit" />
                            </form>
et mon code qui récupère les champs et en prévision de l'upload :
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
21
22
23
24
    public void getPostsDoc1(HttpServletRequest request) {
        try {
            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setSizeThreshold(Datas.MAXUPLOADSIZE);
            factory.setRepository(new File("home/temp"));
            ServletFileUpload upload = new ServletFileUpload(factory);
            upload.setSizeMax(Datas.MAXUPLOADSIZE);
            List items = upload.parseRequest(request);
            Iterator iter = items.iterator();
            while (iter.hasNext()) {
                FileItem item = (FileItem) iter.next();
                if (item.isFormField()) {
                    String fieldName=item.getFieldName();
                    if(fieldName.equals("titreMsg")) {
                        this.titreMsg=item.getString();
                    } else if(fieldName.equals("contenuMsg"))
                        this.contenuMsg=item.getString();
                }
            }
        } catch (FileUploadException ex) {
            Logger.getLogger(Message.class.getName()).log(Level.SEVERE, null, ex);
            this.setErrorMsg("ERREUR INTERNE FILEUPLOAD");
        }
    }
j'ajoute qu'en debut de ma servlet je met bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
Merci pour votre aide.