DB

[mysql] 한글 조회 깨짐 이슈

nari0_0 2022. 7. 20. 16:01
728x90

한글 검색을 할 경우 데이터 조회가 안되는 문제가 있었다.

 

처음에는 DB를 master, slave 이중화 하여 사용하고 있어 동기화 이슈로 예상을 하고 데이터를 확인 해보니 이슈가 없어 한글인 경우만 문제가 있는 것을 파악했다.

 

insert할 때 한글값 저장이 잘되고 조회할 때 안되는걸로 보아 master, slave의 차이가 있을 것이라 추측하고 각 디비의 character를 확인해보니 character_set_server 값이 latin1로 설정되어 있었는데 이것이 문제였다.

 

일전에 slave db복구 작업이 이루어졌는데 5.7.x버전을 사용하고 있어 기본 설정 latin1로 적용 된 것 같다.

캐릭터 셋을 명시적으로 설정하지 않으면 MySQL 5.7 이하는  latin1, MySQL 8은 utf8mb4 가 된다.

 

아래 쿼리로 character 확인

728x90