WAS/Tomcat

[Tips] JSP에서 한글 인코딩 처리

투칼론 2016. 12. 11. 22:07
반응형

한글 처리하는 방법은 GET방식 요청, POST 방식 요청, Content 리턴 시에 따라 처리 방법이 다르다.

아래 예제는 UTF-8 인코딩을 사용하는 예제이다. 만약에 EUC-KR을 사용하면 UTF-8 대신에 EUC-KR을 적용하면 된다.


1. GET 방식 요청에 대한 한글 처리

GET 방식은 파라미터를 URI를 통해 전달하므로 URI Encoding 값을 설정하면됨. 관련 파라미터는 CATALINA_HOME/conf/server.xml 설정 파일을 수정하면 됨 

 ...

 <Connector port="8080" protocol="HTTP/1.1"  ... 

   URIEncoding="UTF-8"/>

 ....



2. POST 방식 요청에 대한 한글 처리

 ...

 <%

   request.setCharacterEncoding("UTF-8");

   String str=request.getParameter("name");

   ...

 %>

 ....

위와 같이 설정하면 모든 JSP 소스에 대해 처리하기 때문에, 보통은 서블릿 Filter를 적용한다. 관련 Filter 소스 파일은 인터넷에서 쉽게 검색하여 다운로드 받을 수 있음.


3. 응답 시에는 웹 브라우저에게 한글 인코딩 정보를 알려줌


웹 브라우저는 응답되는 문서의 Content Type을 보고 인코딩을 함 (브라우저 설정을 자동으로 선택한 경우)

 <%@page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>

  또는,

 response.contentType("text/html;charset=UTF-8")

  또는,

 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

[참고] 위에서 contentType은 응답문서의 인코딩 방식이고, pageEncoding은 JSP 소스 자체의 인코딩방식을 의미함