ホームページ >Java >&#&ベース >Java ファイルのダウンロードが文字化けする場合の解決策の紹介

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

尚
オリジナル
2019-11-29 10:11:402587ブラウズ

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

ダウンロード時に JAVA ファイルが文字化けする状況は 2 つあります: (推奨: java ビデオ チュートリアル)

1. 中国語のファイル名ダウンロード時に文字化けします

2、ダウンロード時に、パスに文字化けした中国語のファイル名が含まれているため、ファイルが見つからないというメッセージが表示されます。

解決策については、コードの次の部分を参照してください

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) 最初の文字化けコード タイプの場合、ダウンロード ページで次の中国語文字化けの問題が発生します。

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

次のコードを使用して問題を解決してください

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

(2) ダウンロードする場合 図に示すように、2 番目のコード文字化けの問題が発生した場合:

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

# 次のコードを使用します。それを解決するには、まず Tomcat、Eclipse などが utf-8 でエンコードされていることを確認します

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

#次に、JAVA では、これがファイル名の最初のエンコードから分離されるため、これらは個別にエンコードされ、相互に影響を与えません。

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

Java ファイルのダウンロードが文字化けする場合の解決策の紹介

Java の知識について詳しくは、「

Java 基本チュートリアル」列に注目してください。

以上がJava ファイルのダウンロードが文字化けする場合の解決策の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。