encodage de fichier de téléchargement de fichier de servlet

Je suis en utilisant le Apache Commons Fileupload outils standard de téléchargement de fichiers. Mon problème est que je ne peux pas obtenir le bon nom de fichier des fichiers téléchargés s'ils contiennent des caractères spéciaux (á, é, ú, etc.) Ils sont tous convertis ? des signes.

demande.getCharacterEncoding() dit UTF-8, mais les octets que je reçois dans la chaîne fileItem.getName() sont les mêmes pour tous mes caractères spéciaux.

Pouvez-vous m'aider quel est le problème?

(Quelques détails: l'utilisation de Firefox 3.6.12, Weblogic 10.3 sur Windows)

C'est mon extrait de code:

 public CommandMsg(HttpServletRequest request) {
    Enumeration names = null;
    if (isMultipart(request)) {
      FileItemFactory factory = new DiskFileItemFactory();
      ServletFileUpload upload = new ServletFileUpload(factory);
      try {
        List uploadedItems = upload.parseRequest(request);
        Iterator i = uploadedItems.iterator();
        FileItem fileItem = null;
        while (i.hasNext()) {
          fileItem = (FileItem) i.next();
          if (fileItem.isFormField()) {
            //System.out.println("isFormField");
            setAttribute(fileItem.getFieldName(), fileItem.getString());
          } else {
            String enc = "utf-8";
            enc = request.getCharacterEncoding();
            String fileName = fileItem.getName();
            byte[] fnb = fileItem.getName().getBytes();
            byte[] fnb2 = null;
            try {
                fnb2 = fileItem.getName().getBytes(enc);
                String t1 = new String(fnb);
                String t2 = new String(fnb2);
                String t3 = new String(fnb, enc);
                String t4 = new String(fnb2, enc);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            setAttribute(fileItem.getFieldName(), fileItem);
          }
        }
      } catch (FileUploadException ex) {
        ex.printStackTrace();
      }

//etc..

source d'informationauteur jabal