사용자 삽입 이미지
Mac OS X Server 10.5에는 MySQL이 답재되어 있습니다. 10.5.5 의 경우 MySQL의 버전은 5.0.67입니다. 하지만 여기에 설치되는 MySQL의 인코딩은 Latin 1으로 설정되어 있습니다. Mac OS X Server는 현재 영어, 일본어, 독일어로 제공되고 있습니다만 일본어 버전을 설치해도 유니코드드로 지정이 안되는 것으로 알고 있습니다. (오래 전에 시도해 봤던 것이라 잘 모르겠네요. Apple Support Discussions - Mac OS X Server 에서 보고가 없는 것으로 보면 일본어로 설치하는 경우 자동으로 UTF-8 설정이 될 지 모르겠습니다.)

방법은 아래의 방법으로 수행하시면 간단히 해결하실 수 있습니다.

  1. 터미널을 실행하고 sudo vi /etc/my.cnf 를 입력합니다.
  2. 패스워드를 입력하고 내용을 편집하기 시작합니다.
  3. [client]  키워드를 찾아 맨 아래쪽에 default-character-set=utf8 을 입력합니다.
  4. skip-networking을 찾아 default-character-set=utf8, default-collation=utf8_general_ci  의 두 줄을 입력합니다.
  5. 저장 후 Serve Admin에서 MySQL을 재시작합니다.
  6. MySQL에 root로 로그인하고 show variables like 'char%'; 를 입력하면 변경내역을 확인할 수 있습니다.
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       | 
| character_set_connection | utf8                       | 
| character_set_database   | utf8                       | 
| character_set_filesystem | binary                     | 
| character_set_results    | utf8                       | 
| character_set_server     | utf8                       | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+


기본적으로 mysql 은 /etc/my.cnf에 설정을 사용합니다. 그래서 이곳에 수정을 해준 것이고요.. 그리고 내용중 아래의 내용을 기입한 것입니다.
[client]
default-character-set=utf8

[mysqld]
skip-networking
default-character-set=utf8
default-collation=utf8_general_ci
 
참고 사이트 : 
MacPorts-MySQL : MacPorts를 이용하여 설치하기
미남이의 이러쿵저러쿵 : MySQL의 기본 인코딩(default encoding)을 UTF8으로 설정하기
rain9.com : MySQL 를 설치했는데 character set 의 변경
싸인펜의 Life Log : OSX mysql 설치, 설정
SimpleThing : 웹 개발을 위한 Mac OS X 환경 구축
정목이의 블로그 : Mac OSX에서 Apache + MySQL + PHP 개발환경 구축하기

Posted by Enowy

2008/12/14 12:46 2008/12/14 12:46

Mac OS X의 한글 저장 방식

Mac OS X에서는 모든 한글을 유니코드로 저장하고 있습니다. 하지만 윈도우에서 접근하는 경우 모두 깨져 보이게 되는데 리눅스의 경우는 그렇지 않죠.

Mac OS X의 경우 Unicode Normalization 규칙에서 최대한 분해된 상태인 NFD(Normalization Form D)로 저장하고 lookup, readdir등의 파일시스템 요청을 그 상태 그대로 응답합니다. 따라서, Mac OS X 으로부터의 UTF-8 유니코드 이름은 전부 최대한 디컴포즈된 상태로 오기 때문에, 일반적으로 조합된 상태로 쓰는 한글 (U+AC00)영역만을 지원하는 xterm 등 일반 애플리케이션들에서는 정상적으로 볼 수 없습니다.

Unicode Normalization Forms - http://unicode.org/reports/tr15/

U+AC00 영역 - http://www.unicode.org/charts/PDF/UAC00.pdf

한글을 제대로 보이게 하시기 위해서는 U+1100영역으로 완전히 분해된 한글을 ls에서 뿌리기 전에 조합해 주거나, 아니면 터미널에서 U+1100 출력을 지원하는 방법이 있고, MacOS X에서 패치하는 방법도 있습니다.

U+1100 영역 - http://www.unicode.org/charts/PDF/U1100.pdf

NFD
Normalization Form Canonical Decomposition
Characters are decomposed by canonical equivalence.
NFC
Normalization Form Canonical Composition
Characters are decomposed and then recomposed by canonical equivalence. It is possible for the result to be a different sequence of characters than the original.
NFKD
Normalization Form Compatibility Decomposition
Characters are decomposed by compatibility equivalence.
NFKC
Normalization Form Compatibility Composition
Characters are decomposed by compatibility equivalence, then recomposed by canonical equivalence.


그렇지만, most decomposed로 저장하는 것은 Darwin의 기본 정책이기 때문에, 이쪽은 매우 힘들고, 또한 ls나 xterm에서 normalization을 지원하도록 하는 것도 상당히 힘든 일입니다. 이 문제에 대해서는 우선은 뾰족한 해결책이 없습니다.

참고로, NFS를 직접 쓰시려는 목적이 아니고, 그냥 옮기시려는 목적이라면 KoreanCodecs처럼 U+1100과 U+AC00 간의 전환을 도와주는 툴을 사용하시면 쉽게 이름을 바꿀 수는 있습니다. 그리고, GNOME2.4같이 GTK+2를 기반으로 한 프로그램들은 Unicode Normalization을 지원하고 있어서 Nautilus같은 파일 관리자를 사용하시면 MacOS X 파일 시스템의 한글도 보실 수 있습니다.

- 출처 : 장혜식님의 방명록 -
http://openlook.org/guestbook/reply.php?id=68&db=perky
(블로그 내용이 아닌 방명록에 있어서 옮겨 왔습니다.)

Posted by Enowy

2008/06/23 10:48 2008/06/23 10:48