response下载csv文件内容乱码问题
解决办法:在输出流语句第一行输出
out.write(new byte[]{(byte)0xEF, (byte)0xBB, (byte)0xBF});
ServletOutputStream out = response.getOutputStream(); out.write(new byte[]{(byte)0xEF, (byte)0xBB, (byte)0xBF}); out.write("电视机,20\n".getBytes("utf-8")); out.write("洗衣机,10\n".getBytes("utf-8")); out.write("冰箱,50\n".getBytes("utf-8"));
如果这中方式可以的话,那把字节流改成字符流应该也是可以的,但是事实却是不行,不知道为什么
//告诉浏览器用什么编码解析 response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter(); out.write(new String(new byte[]{(byte)0xEF, (byte)0xBB, (byte)0xBF})); out.write("电视机,20\n"); out.write("洗衣机,10\n"); out.write("冰箱, 10\n");