JAVA文件下载时乱码有两种状况:(引荐:java视频教程)
1,下载时中文文件名乱码
2,下载时由于途径中包括中文文件名乱码,提醒找不到文件
处理方法见下面部份代码
response.setContentType("multipart/form-data"); String userAgent = request.getHeader("User-Agent"); String oraFileName = meetingFile.getFileName(); String formFileName=oraFileName; // 针对IE或许以IE为内核的浏览器: if (userAgent.contains("MSIE") || userAgent.contains("Trident")) { formFileName = java.net.URLEncoder.encode(formFileName, "UTF-8"); } else { // 非IE浏览器的处置惩罚: formFileName = new String(formFileName.getBytes("UTF-8"), "ISO-8859-1"); } response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", formFileName)); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("UTF-8"); ServletOutputStream out; // 经由过程文件途径取得File对象 File file = null; if (meetingFile != null) { file = new File(path + "upload/"+oraFileName); }
(1)假如第一种乱码范例,下载页面碰到以下的中文乱码问题
用以下代码处理
(2)假如下载碰到第二种乱码问题,如图:
用以下代码处理:即起首确保tomcat ,eclipse等为utf-8编码
然后JAVA中如许与第一种对文件名编码离开,使它们离别编码,互不影响。
更多java学问请关注java基础教程栏目。
以上就是java文件下载乱码处理方法引见的细致内容,更多请关注ki4网别的相干文章!