There are two situations when the JAVA file is garbled when downloading: (Recommended: java video tutorial)
1. The Chinese file name is garbled when downloading
2, when downloading, because the path contains garbled Chinese file names, it prompts that the file cannot be found
For the solution, see the following part of the code
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) If the first garbled code Type, the download page encounters the following Chinese garbled problem
Use the following code to solve the problem
(2) If downloading When encountering the second garbled code problem, as shown in the figure:
## Use the following code to solve it: first ensure that tomcat, eclipse, etc. are utf-8 encoded Then in JAVA, this is separated from the first encoding of file names, so that they are encoded separately and do not affect each other. For more java knowledge, please pay attention to thejava basic tutorial column.
The above is the detailed content of Introduction to solutions to garbled java file downloads. For more information, please follow other related articles on the PHP Chinese website!