Tuesday, May 11, 2010

영문 리눅스에서 어플리케이션의 한글 정렬 및 한글관련 동작 등이 이상할 때

우분투 등의 리눅스 배포판에서 한글로 언어를 설정해 쓰다보면 미관상이나 번역상의 문제가 있어 기본 언어는 영어로 설정한 채 쓰고 있습니다. 하지만 이렇게 하니 어플리케이션을 쓰는데 이상하게 한글과 관련된 정렬(sort) 작업 등에서 문제가 생기더군요. 음악 재생 프로그램인 Rhythmbox에서는 한글로 된 가수 이름을 클릭하면 아무 일도 벌어지지 않을 때가 있습니다. (소스를 들여보니 대부분의 한글로 된 이름들을 같은 이름으로 인식해 생기는 일이더군요. g_utf8_collate_key라는 함수가 locale에 따라 달리 동작하더군요.)

특히 정렬의 문제라면 LC_COLLATE라는 환경 변수의 문제일 가능성이 매우 큽니다. 제 경우에는 우분투 10.4를 쓰고 있는데, /etc/default/locale에

LC_COLLATE="ko_KR.UTF-8"

줄을 추가하고 재부팅하니 제대로 동작하더군요.

No comments:

Post a Comment