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");