Heim  >  Artikel  >  Java  >  Lösung für den verstümmelten chinesischen Java-Dateinamen

Lösung für den verstümmelten chinesischen Java-Dateinamen

尚
Original
2019-11-30 11:38:254841Durchsuche

Lösung für den verstümmelten chinesischen Java-Dateinamen

Es gibt zwei Situationen, in denen die JAVA-Datei beim Herunterladen verstümmelt ist: (Empfohlen: Java-Video-Tutorial)

1. Der chinesische Dateiname ist beim Herunterladen verstümmelt

2. Da der Pfad beim Herunterladen verstümmelte chinesische Dateinamen enthält, wird angezeigt, dass die Datei nicht gefunden werden kann

Die Lösung finden Sie im folgenden Teil des Codes

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) Wenn der erste verstümmelte Code eingegeben wird, stößt die Download-Seite auf das folgende chinesische verstümmelte Problem

Lösung für den verstümmelten chinesischen Java-Dateinamen

Verwenden Sie den folgenden Code, um es zu lösen

Lösung für den verstümmelten chinesischen Java-Dateinamen

(2) Beim Herunterladen ist das zweite verstümmelte Problem aufgetreten, wie im Bild gezeigt:

Lösung für den verstümmelten chinesischen Java-DateinamenVerwenden Sie den folgenden Code, um es zu lösen: Stellen Sie zunächst sicher, dass Tomcat , Eclipse usw. sind UTF-8-codiert

Lösung für den verstümmelten chinesischen Java-Dateinamen

In JAVA ist dies dann von der ersten Codierung der Dateinamen getrennt, sodass sie separat codiert werden und keinen Einfluss haben gegenseitig.

Lösung für den verstümmelten chinesischen Java-Dateinamen

Weitere Java-Kenntnisse finden Sie in der Spalte Java Basic Tutorial.

Das obige ist der detaillierte Inhalt vonLösung für den verstümmelten chinesischen Java-Dateinamen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn