suroMind

[Tip]spring,tomcat,mysql 인코딩 깨짐 본문

IT분야/Tip

[Tip]spring,tomcat,mysql 인코딩 깨짐

suroMind 2013. 12. 15. 15:29

출처 : http://blog.daum.net/gujjy/114


tomcat 으로 mysql 접속시 인코딩이 깨어질 때 체크해야 할 것들.


1. 데이타베이스 및 테이블 생성 시 인코딩 적용

  CREATE DATABASE 디비명 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

  CREATE TABLE 테이블명(
    컬럼들~~~~
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='테이블 주석';


2. jdbc 데이터 소스 생성 시 인코딩 적용

  jdbc:mysql://서버주소:포트/디비명?useUnicod=true&characterEncoding=utf8


  &는 xml 에서는 &로 적어준다.


3. web.xml에 인코딩 필터 적용

<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


4. Get 파라메터 한글 깨짐 적용

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


  URIEncoding을 적용하면 get으로 한글을 보낼때 깨지 않는다.




Comments