在Java的web开辟中,文件下载功用的文件名文件名乱码题目是常常碰到的。
关于这个题目,差别的浏览器,处理的要领不太一样。
IE的话,经由过程URLEncoder对filename举行UTF8编码。
而其他的浏览器(firefox、chrome、safari、opera),则要经由过程字节转换成ISO8859-1了。
java下载文件名中文乱码处理:
response.setCharacterEncoding("utf-8"); response.setContentType("application/msword"); String fileName="哈哈哈哈.doc"; if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) { fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器 } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) { fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器 }else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) { fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌 } response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
更多java学问请关注java基础教程。
以上就是java下载文件名中文乱码处理的细致内容,更多请关注ki4网别的相干文章!