JAVAファイルのダウンロードには、2例があります。文字化け:
1、中国の文字化けファイル名をダウンロードします
2、ダウンロードパスは、中国のファイル名がありません文書ことを示唆し、文字化け含まれているため、
ソリューションは、コードの次のセクションを参照してください。
response.setContentType(「マルチパート/フォームデータ」)。
文字列のuserAgent = request.getHeader( "のUser-Agent");
ストリングoraFileName = meetingFile.getFileName()。
文字列formFileName = oraFileName。
//针对IE或者以IE为内核的浏览器:
IF(userAgent.contains( "MSIE")|| userAgent.contains( "トライデント")){
formFileName = java.net.URLEncoder.encode(formFileName、「UTF- 8" );
}他{
//非IE浏览器的处理:
formFileName =新しい文字列(formFileName.getBytes( "UTF-8")、 "ISO-8859-1");
}
response.setHeader( "コンテンツ・処分"、
String.Formatの( "添付;ファイル名= \" %s \ "は"、
response.setContentType( "アプリケーション/ vnd.ms-エクセル;のcharset = UTF-8");
response.setCharacterEncoding( "UTF-8");
アウトServletOutputStreamを、
//通过文件路径获得ファイル对象の
ファイルファイル= NULL;
(もし!meetingFile = NULL){
ファイル=新しいファイル(パス+ "アップロード/" + oraFileName)。
}
(1)最初の文字化けの種類、ダウンロードページには、次の中国のゴミ問題が発生した場合
次のコードで解決します
(2)あなたは第二の出会い文字化けの問題をダウンロードした場合は、図に示すように:
即ち、第1確認Tomcatを行い、食UTF-8としてエンコードされた次のコードを有する溶液
それらは互いに独立して、符号化するように、Java(登録商標)で、次いで、第1の符号化されたファイル名で分離しました。
注意:現在のテストは、FirefoxとIEと他のブラウザをダウンロードする際のコーディングの問題を解決し、時間から来てWIN10ブラウザの時間に、まだ現象が文字化けすることができます前に、