※ 이는 JSP내에서의 한글깨짐 해결방안입니다.

   자바에서의 인코딩은 따로 잡아주셔야합니다.

 

1) web.xml 에서 작성

POST 방식으로 데이터를 전달할 때 charset 때문에 문제가 되는 경우에는
setCharacterEncodingFilter 필터를 이용해서 전달하면 한글변환 없이 사용할 수 있습니다.
전역에서 쓰실 분은 이클립스기준으로
Server안에 있는 web.xml안에, 프로젝트만에서만 쓰신다면
해당 프로젝트안의 WEB-INF안에 web.xml안에 넣으시면됩니다.

 

스프링이 아닌경우

<!--web.xml에 넣으면 된다.-->
<!--web.xml의 filter설정-->
<filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<!--filter에 대한 url매핑 설정-->
<filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

스프링 프로젝트인 경우

<filter>
    <filter-name>encodingFilter</filter-name>
    <!--스프링주소-->
    <filter-class>
        org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
    <!--utf-8-->
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
    <!--강제로 사용-->
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <!--전역으로 사용-->
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

 

2) JSP파일 상단에서 작성

해당 JSP파일의 상단에 작성하시면 됩니다.
<%@ page contentType="text/html; charset=utf-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 

 

 

3) 톰캣 서버의 설정으로 들어가서 설정

Tomcat의 서버를 설정했다면 Servers하단의 server.xml안에 들어가보면 대략 64번째 줄인가에 
아래와 같은 코드가 있는데 이중 URIEncoding="utf-8"을 더 넣으면 된다.
 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

server안의 server.xml

 

 

이 중 하나만 해서 안된다면 다 하시는 걸 추천드린다. 그럼 모든 한글 깨짐이 잡히게된다.
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기