問題: Chrome ブラウザではエクスポートされた Excel ファイル名に中国語の文字化けはありませんでしたが、IE ブラウザをテストすると、エクスポートされたファイル名が文字化けしました。
解決策:
元のコード:
try { response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + new String((edTemplate.getTemplateName() + "导入模板").getBytes(), "ISO-8859-1") + ".xls"); OutputStream os = response.getOutputStream(); workbook.write(os); os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); return ResponseMsgUtil.failure(); }
新しい String((edTemplate.getTemplateName() "Import template").getBytes(), " を追加しますISO-8859-1" の getBytes() メソッドへのコード)
修正コード
try { response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + new String((edTemplate.getTemplateName() + "导入模板").getBytes("gb2312"), "ISO-8859-1") + ".xls"); OutputStream os = response.getOutputStream(); workbook.write(os); os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); return ResponseMsgUtil.failure(); }
Java の詳細については、Java 基本チュートリアル# # を参照してください。 # カラム。
以上がJavaエクスポートファイルのファイル名が文字化けする問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。