Java でダウンロードしたファイル名が文字化けする
JAVA ファイルが文字化けしてダウンロードされる場合は 2 つの状況があります。文字:
1. ダウンロードすると、中国語のファイル名が文字化けします
2. ダウンロードすると、パスに文字化けした中国語のファイル名が含まれるため、ファイルが見つからないというメッセージが表示されます
解決策については、コードの次の部分を参照してください (推奨チュートリアル: java チュートリアル)
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) 最初の文字化けが発生した場合、ダウンロード ページでは次の中国語文字化け問題が発生します
#問題を解決するには、次のコードを使用します
(2) 図に示すように、ダウンロード中に 2 番目のコード文字化けの問題が発生した場合:
#次のコードを使用して問題を解決します。まず Tomcat と Eclipse を確認します。utf-8 エンコードを待ちます。
#JAVA では、これはファイル名の最初のエンコードから分離され、別々にエンコードされ、相互に影響を与えません。
以上がJavaでダウンロードしたファイル名が文字化けしてしまうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。