우리가 보통 게시판 검색이라던가 어떤 text form에서 값을 넘길 때,

jsp든 sever page든 모두 UTF-8로 인코딩 선언을 해놓아도 값 들이 깨지는 경우가 있다..


이럴 경우는 이렇게 해보자.


1. 우선 JSP 페이지의 인코딩을 모두 같은 인코딩방식으로 선언 해 준다.

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


2. 해당 프로젝트의 web.xml 설정

<filter>

<filter-name>struts2</filter-name>

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

<init-param>

       <param-name>struts.i18n.encoding</param-name>  

       <param-value>UTF-8</param-value>

</init-param>

</filter>

참고로 본인은 Struts2를 개발 하여서 저 filter 태그 안에 init-param 태그를 선언 해준다 (<init-param>으로 부터 아래 4줄)


3. tomcat 및 weblogic Was의 server.xml

여기가 제일 중요하다.


<Connector connectionTimeout="20000" port="10000" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />


아 그런데, 본인은 위 설정만 해줘도 되더라. (이상하게 아래 코드를 넣으니 에러가 났다.. 그이유는 모르겠다)


<Connector executor="tomcatThreadPool"

               port="8080" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               redirectPort="8443" 

useBodyEncodingForURI="true"/>


우선은 위설정 해보고 안되면 밑 설정을 해보되 둘다 했을 때 에러 날 시, 위 Connector만 설정 해보자.

+ Recent posts