Der Dateiname des Java-Downloads ist verstümmelt
Es gibt zwei Situationen, in denen der JAVA-Dateidownload verstümmelt ist:
1. Beim Herunterladen ist der chinesische Dateiname verstümmelt
2. Beim Herunterladen wird angezeigt, dass die Datei nicht gefunden werden kann, da der Pfad einen verstümmelten chinesischen Dateinamen enthält
Die Lösung finden Sie im folgenden Teil des Codes ( Empfohlene Tutorials: 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); }
(1) Wenn der erste verstümmelte Typ auftritt, wird auf der Download-Seite Folgendes angezeigt: Um das folgende chinesische verstümmelte Problem zu lösen:
Verwenden Sie den folgenden Code, um das Problem zu lösen
(2) Wenn beim Download das zweite verstümmelte Problem auftritt, wie in der Abbildung gezeigt:
Verwenden Sie den folgenden Code, um das Problem zu lösen: Stellen Sie zunächst sicher, dass Tomcat und Eclipse auf die UTF-8-Kodierung warten
und dann trennen Dies erfolgt ab der ersten Kodierung des Dateinamens in JAVA, sodass sie separat kodiert werden und sich nicht gegenseitig beeinflussen.
Das obige ist der detaillierte Inhalt vonDer von Java heruntergeladene Dateiname ist verstümmelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!