반응형

mysql 서버를 구성하고 웹에서 데이터를 조회해오는데 문제없이 잘 가져오다가

빈 컬럼이거나 NULL이 들어가있으면 Case When문구를 활용하여 치환하는 query가 있었는데

 

툴로 조회할때는 문제가 없지만, mybatis를 통해 조회할때만 문제가 되었다.

 

처음 의심한 곳은 mapper의 xml 인코딩이 깨졌을꺼라 생각했지만 문제없이 UTF-8 처리였다.

 

SET CHARACTER SET UTF8;

해당 쿼리를 던지고 조회하면 수정이 된다고해서 처리하였지만 동일한 증상이 발생하였고,

 

mysql -u root -p
비밀번호 입력

접속하여 status로 서버쪽 언어 인코딩 상태를 확인해보니 latin1로 조회되었다.

 

status 조회 결과

 

서버쪽 인코딩이 안맞는것으로 판단하여 mysql 설정파일인 my.ini를 열어

mysqld라인에 character-set-server=utf8 를 입력하였다.

[mysqld]
character-set-server=utf8

 

서비스에서 mysql 재기동 후 정상적으로 치환하여 보여지는것을 확인했다.

 

반응형