Créer des fichiers UTF-8 à l'aide de HttpServletResponse

Je suis en train de créer un fichier UTF-8 "monfichier.aaa" à l'aide de HttpServletResponse (HttpServlet). La raison pourquoi j'ai besoin de cela pour être en UTF-8 est parce qu'il peut contenir des caractères non-imprimables.

Cependant, le code ci-dessous semble créer ANSI-fichier encodé. C'est du moins ce que Notepad++ est dit, et ce que je peux voir de la lecture de caractères à partir de ce fichier. Ce que je fais mal?

Grâce

public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    {
        res.setHeader("Content-Type", "application/octet-stream; charset=UTF-8");
        res.setHeader("Content-Disposition","attachment;filename=myFile.aaa");
        res.setCharacterEncoding("UTF-8");
        ServletOutputStream os = res.getOutputStream();
        os.print("Hello World");
        os.flush();
        os.close();
    }
Pourquoi voudriez-vous de spécifier charset sur un octet-stream?

OriginalL'auteur Arturo | 2012-02-19