문제: 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(); }
new 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!