在前面一篇日志:理解和灵活应用 Struts2 的文件下载功能 还留下一个问题,在 Servlet 中支持文件下载功能时,客户保存下载文件所用的字符集总是 ANSI(ISO8859-1),如何能设定客户保存文件用的字符集呢?像 BlogJava 的备份数据功能下载后就是用的 UTF-8 字符集的。自己作了一些尝试,总是无济于事,看如下代码是 Servlet 的 doGet() 方法:
1 2 3 4 5 6 7 8 9 10 11 12 |
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // PrintWriter out = response.getWriter(); PrintWriter out = new PrintWriter(new OutputStreamWriter(response .getOutputStream(), "UTF-8")); response.setContentType("text/plain;charset=UTF-8"); response.setHeader("Content-Disposition","attachment;filename=down.txt"); out.write("Servlet download file test"); out.close(); } |