본문 바로가기
호구지책/Java/Android

[Java] 익스에서 파일 다운로드 시 한글 깨짐

by 하늘의흐름 2023. 10. 25.
반응형

익스에서만 발견된 현상으로 크롬에서는 나타나지 않는다.

퍼센트 인코딩이라는 것이 있는데, 해당 기능이 제대로 동작하지 못해서 발생한 문제다.

 

request.setCharacterEncoding("UTF-8");

//중략

String originalFIleName = "한글파일명.pdf";

if(client.indextOf("MSIE") != -1){
	String filename = URLEncoder.encode(originalFIleName, "UTF-8").replaceAll("\\+","%20");
	response.setHeader("Content-Disposition", "attacment; filename=\"" + filename +"\"");
}

 

핵심이 되는 부분은 URLEncoder.encode(originalFIleName, "UTF-8").replaceAll("\\+","%20"); 이다.

%20은 공백을 나타내는데, 공백을 치환하여 퍼센트 인코딩이 제대로 동작하도록 해주는 것이다.

 

익스플로러(IE)에서 한글깨짐에 대해 알아보았다.

반응형

댓글