본문 바로가기

JAVA/JSP

[JSP] POST method 사용시 jsp문서에서 한글 인코딩 방법

728x90

POST로 세팅된 html폼에 한글을 입력하고 JSP문서로 넘길시에

 

위와 같이 글자가 깨진다.

 

request.setCharacterEncoding("UTF-8");

jsp 본문 상단에 위 인코딩 명령어를 삽입해주면

 

 

글자가 깨지지 않고 출력된다.

 

한글 깨짐 현상은 서버와 클라이언트간 데이터가 전송되는 과정에서 서버, 웹 브라우저,. DB 등 설정된 문자 코드가 다르기 때문에 발생한다.

 

POST방식은 setCharacterEncoding()메소드를 사용할 수 있고

 

setCharacterEncoding()메소드는 BODY데이터만 인코딩 해주기 때문에 GET방식에서는 사용할 수 없고

URL에 대한 인코딩 처리를 해주어야 한다.

GET방식에서는 클라이언트와 서버의 인코딩과 문자코드를 맞춰주면 되는데

 

server.xml에 URIEncoding="문자속성" 속성을 추가해주면 된다.

 

톰캣은 기본적으로 UTF-8버전이 사용되고 있기에 클라이언트에서 UTF-8설정을 해놓았다면 별다른 지정 없이도 한글이 잘 출력된다.