본문 바로가기

Develop/Server

Tomcat 5.5 + Ibatis2.3.4 + Mysql 6.0 한글 인코딩 문제 해결방안


문제1 : request에서 한글이 깨져서 넘어 온다.. 서버 환경에 따라 틀리겠지만..
답1 :
 
       SetCharacterEncodingFilter.java 를 넣고


       web.xml 에 아래와 같이 추가 


<filter>
 <filter-name>Set Character Encoding</filter-name>
 <filter-class>kr.co.test.common.SetCharacterEncodingFilter</filter-class>
 <init-param>
  <param-name>encoding</param-name>
  <param-value>UTF-8</param-value> <!-- 설정할 인코딩 -->
 </init-param>
</filter>
<filter-mapping>
 <filter-name>Set Character Encoding</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>



문제2 : 검색 페이지를 만드는데 영문이나 숫자는 조회가 가능한데 한글이 들어가면 디비에서 조회결과가 안나온다.
         ibatis 로그에는 정상적인 한글로 로그가 찍히는데;;  일부로 쿼리에 오류를 나게 하면 찍힐때도 있음.
답2 : 검색을 해봤지만 맞는 상황이 없어서 직접 테스트 하고 작성함.
일단 mysql home directory 로 들어가서 my.ini 파일을 열고 아래와 같이 수정
[mysql]
default-character-set=euckr

[mysqld]
default-character-set=euckr

그리고 db 테이블 설정에서 EUC-KR 로 변경 각 컬럼마다 문자셋을 변경해주는 옵션도 있는거 같다 여기도 모두 euc-kr로 되어 있어야 한다. tool은 나비켓7 을 사용하였는데 테이블 설계하기로 들어가면 나온다.

ps. 서버환경과 db환경에 따라 틀림.