JSP에서 한글 파일명을 가진 엑셀파일 생성시 크롬에서는 정상적으로 출력되는 한글이 Safari에서는 깨지는 현상은 아래와 같이 인코딩과 Content-Disposition을 설정하면 해결 할 수 있다.
String fileName = "한글파일명.xls";
// 인코드된 파일명의 공백(+)을 %20으로 변환
String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replace("+", "%20");
// HTTP 헤더 설정
response.setContentType("application/vnd.ms-excel;charset=utf-8");
// 인코딩된 파일명을 지정하고 Safari와 다른 브라우저에서도 제대로 동작되도록 처리한다.
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"; filename*=UTF-8''" + encodedFileName);
반응형
'Java' 카테고리의 다른 글
Accept-Language 관련사항 (0) | 2016.12.22 |
---|---|
web.xml url-pattern 관련 스펙 (0) | 2016.08.26 |
[JAVA/JSP] GET방식 한글깨짐 처리 (0) | 2015.04.14 |
[Java] SimpleDateFormat (0) | 2015.04.02 |
Try Catch Finally 동작순서 (0) | 2014.12.31 |