혹시 까먹을까봐 적어놓습니다.

MySQL 경우에 기본 옵션으로 컴파일하면(보통 패키징되어있는 경우..) 모든 언어에 대해 필요한 기능이 자동으로 내장되는데, 데비안에서 패키지를 그대로 깔아서 쓸 경우에 한글 정렬이 제대로 안 됩니다. 로케일을 알아서 인식해서 써먹지 않는 모양이군요.

그런 경우에 my.cnf 파일(데비안 경우에 /etc/mysql/my.cnf, 레드햇 계열은 보통 /etc/my.cnf)을 루트 권한으로 편집하고 나서 mysqld를 재시작해주면 됩니다.

편집할 부분은 [mysqld] 섹션의 default-character-set이라는 항목으로, 원래 이 항목이 없거나 아니면 latin1으로 설정이 되어있는데,
default-character-set=euc_kr
이렇게 해 주면 정렬이 제대로 됩니다.

이렇게 해도 안 되는 경우가 있다고 하는데(난 못 봤지만) 이런 경우에는 궁극의 해결책으로 필드를 binary로 설정해주면 된다고 합니다.

+ Recent posts