Home > Java > JavaBase > body text

The file name downloaded by java is garbled

angryTom
Release: 2019-11-12 16:19:14
Original
2096 people have browsed it

The file name downloaded by java is garbled

The file name downloaded by java is garbled

There are two situations when the JAVA file is downloaded with garbled characters:

1. When downloading, the Chinese file name is garbled

2. When downloading, because the path contains garbled Chinese file name, it prompts that the file cannot be found

For the solution, see the following part of the code ( Recommended tutorial: java tutorial)

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);
            }
Copy after login

(1) If the first garbled type is encountered, the download page will encounter To the following Chinese garbled problem

The file name downloaded by java is garbled

The file name downloaded by java is garbled

Use the following code to solve the problem

The file name downloaded by java is garbled

(2) If the download encounters the second garbled code problem, as shown in the figure:

The file name downloaded by java is garbled

Use the following code to solve the problem: first ensure tomcat, eclipse Wait for utf-8 encoding

The file name downloaded by java is garbled

Then in JAVA, this is separated from the first encoding of the file name, so that they are encoded separately and do not affect each other.

The file name downloaded by java is garbled

The above is the detailed content of The file name downloaded by java is garbled. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template