Omeka의 Contribution 플러그인 Types 설정에서 유형 이름을 한글 변경시 글자가 깨지는 문제 해결 방법(MySQL DB 관련)

edited May 2015 in OMEKA

Mysql은 설치시 기본적으로 UTF-8이 아닌 latin1으로 character set가 설정됩니다.
자신이 운영하는 서버의 mysql이 현재 어떤 캐릭터세트인지 확인하려면 다음과 같이 하시면 됩니다.

1. Mysql 콘솔 접속
2. show variables like 'c%';

위의 2번의 명령어를 쓰면 현재 사용하는 mysql DBMS의 기본 캐릭터세트를 확인할 수 있습니다.
보통 대부분은 character_set_system을 제외하고는 캐릭터세트가 latin1으로 나타납니다.

이런 이야기를 먼저 하는 이유는 Omeka를 캐릭터세트 지정 없이 디폴트로 설치하고 운영할 때 영어권 국가에선 문제될 것이 없지만 비영어권에서는 Omeka의 일부 플러그인(ex: Contribution)에서 한글 입력이 깨지는 경우가 있기 때문입니다.

20150526_111016

위의 캡쳐 화면을 보면 화면에 표시될 명칭에 "??" 물음표 표시가 붙은 것이 보일 것입니다. Contribution 옵션에서 기증 기록의 유형을 입력하는 화면인데 영문 입력은 잘 되지만 명칭을 한글로 입력하고 저장하면 위의 화면과 같이 글자가 깨지는 현상이 발생됩니다.

물론 아이템이나 컬렉션, 전시 페이지 등에서 콘텐츠 입력시 한글을 쓰고 화면으로 볼 때는 Omeka가 기본적으로 utf8 인코딩 방식으로 처리하므로 전혀 문제가 없지만 Contribution과 같이 일부 플러그인에선 utf8이 적용되지 않아서 한글 입력 오류가 발생되고 있습니다.

이를 해결하기 위해선 다음과 같은 방법을 사용하시면 됩니다.
물론 이 방법은 단순히 Omeka만을 위한 것이 아니라 Mysql을 사용해야 하는 경우 초기에 적용을 하시면 이후에 캐릭터 세트로 인한 문제는 거의 발생되지 않습니다.
참고하시기 바랍니다.

+ Mysql DB의 기본 Character Set 변경 방법
1. vi /etc/mysql/my.cnf
2. 아래의 utf8 설정 입력
3. 저장 후 Mysql 재시작(service mysql restart)

[client]
default-character-set=utf8
 
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
 
[mysql]
default-character-set=utf8

Comments

  • 위의 방식으로 Mysql을 셋팅하면 이후 어떤 DB를 생성하더라도 캐릭터세트가 기본 utf8로 설정됩니다. 한번 설정하면 mysql을 지우지 않는 한 계속 적용되므로 인코딩 에러 문제를 해결할 수 있습니다.
    물론 특정 캐릭터세트를 써야만 하는 경우가 있을 수 있지만 utf8 방식을 디폴트로 사용해도 문제가 없는 경우엔 이 방법을 사용하시면 편리할 것입니다.

Sign In or Register to comment.