본문 바로가기

[Terry] JAVA

struts2에서 한글 깨질때...

일반적으로 struts2에서 한글이 깨질때 아래와 같은 세가지 중 하나를 선택해서 적용한다.
1. web.xml에 filter등록

<filter>

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

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

<init-param>

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

<param-value>euc-kr</param-value>

</init-param>

</filter>

<filter-mapping>

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

<url-pattern>/*</url-pattern>

</filter-mapping>

2. struts.properties에서 한글처리

# korean

struts.i18n.encoding=euc-kr

3.  struts.xml 에서 처리

<constant name="struts.i18n.encoding" value="euc-kr" />


위와 같이 적용해도 개발하면서 bean에 값을 담아서 넘기면 한글이 깨진다.
이를 해결하기 위해서는 tomcat의 server.xml 에 URIEncoding을 추가해줘야 한다. 

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="EUC-KR"/>


위와 같이 처리해주면 한글 문제가 말끔하게 처리된다.