한글이 깨지는 이유
1. 서버에서 한글을 지원하지 않는 문자코드로 인코딩한 경우.
웹서버에서 클라이언트로 보내질 때, 기본적으로 단위가 ISO-8859-1 이라는 코딩 방식을 이용.
해당 방식은 1바이트로 쪼개서 전달하기에 물음표로 나온다. (한글은 2바이트씩 묶어서 표현)
"??"
2. 서버에서는 UTF-8로 인코딩해서 보냈지만 브라우저가 다른 코드로 잘못 해석한 경우.
인코딩 방식만 설정을 다시 하면 깨질 수도 있고 안 깨질 수도 있음.
"덈뀞"
해결하는 방법
사용자가 보내는 코딩 방식을 결정
response.setCharacterEncoding("UTF-8");
사용자가 받았을 때 어떻게 해석할 지에 대한 정보를 제공
(클라이언트에게 캐릭터가 UTF-8로 되었다는 것과, 이게 html 문서라는 정보를 제공함.)
response.setContentType("text/html; charset=UTF-8");
'Servlet&JSP' 카테고리의 다른 글
016 - 기본값 사용하기 (0) | 2020.05.14 |
---|---|
015 - GET 요청과 쿼리스트링 (0) | 2020.05.13 |
013 - 서블릿 출력 형식을 지정해야 하는 이유 (0) | 2020.05.11 |
012 - 어노테이션을 이용한 URL 매핑 (0) | 2020.05.10 |
011 - 이클립스를 이용한 서블릿 프로그래밍 (0) | 2020.05.09 |