Создайте файл UTF-8 с помощью HttpServletResponse

Я пытаюсь создать файл UTF-8 «myFile.aaa» с помощью HttpServletResponse (HttpServlet). Причина, по которой мне нужно, чтобы это был UTF-8, заключается в том, что он может содержать специальные непечатаемые символы.

Однако приведенный ниже код, похоже, создает файл в кодировке ANSI. По крайней мере, так говорит Notepad ++, и что я могу видеть при чтении символов из этого файла. Что я делаю не так?

Спасибо

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();
    }
7
задан Arturo 19 February 2012 в 23:19
поделиться