• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 서비스
    • MySQL유지보수
    • MySQL라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.1 한글메뉴얼) [close]
  • 1. MySQL 5.1 Reference Manual
  • 2. Installing and MySQL 업그레이드하기
  • 3. 사용 설명서 (Tutorial)
  • 4. MySQL 프로그램 사용하기
  • 5. 데이터베이스 관리
  • 6. 리플리케이션
  • 7. 최적화 (Optimization)
  • 8. 클라이언트 및 유틸리티 프로그램
  • 9. 언어 구조 (Language Structure)
  • 10. 문자 셋 지원
  • 1. 일반적인 의미의 문자 셋과 콜레션
    2. MySQL의 문자 셋과 콜레션
    3. 문자 셋과 콜레션 지정하기
    4. 문자 셋과 콜레션 연결하기
    5. 콜레션 이슈
    6. 문자 셋 지원으로 영향을 받는 연산
    7. 유니코드 지원
    8. 메타데이터용 UTF-8
    9. 컬럼 문자 셋 변환
    10. MySQL이 지원하는 문자 셋과 콜레션
  • 24. API 및 라이브러리
  • 25. Connectors

10.2. MySQL의 문자 셋과 콜레션

 

MySQL 서버는 다양한 문자 셋을 지원한다. 사용 가능한 문자 셋을 보기 위해서는, SHOW CHARACTER SET 명령문을 입력한다. 아래에 있는 리스트는 사용 가능한 문자 셋의 일부분이며, 보다 자세한 정보는 Section 10.10, “MySQL이 지원하는 문자 셋과 콜레션”을 참조하기 바란다.

 

mysql> SHOW CHARACTER SET;

+----------+-----------------------------+---------------------+--------+

| Charset  | Description                 | Default collation   | Maxlen |

+----------+-----------------------------+---------------------+--------+

| big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |

| dec8     | DEC West European           | dec8_swedish_ci     |      1 |

| cp850    | DOS West European           | cp850_general_ci    |      1 |

| hp8      | HP West European            | hp8_english_ci      |      1 |

| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |

| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |

| latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |

| swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |

| ascii    | US ASCII                    | ascii_general_ci    |      1 |

| ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |

| sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |

| hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |

| tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |

| euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |

| koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |

| gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |

| greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |

| cp1250   | Windows Central European    | cp1250_general_ci   |      1 |

| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |

| latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |

...

 

모든 문자 셋은 적어도 하나의 콜레션을 가지고 있다. 어떤 것들은 여러 개의 콜레션을 가지고 있기도 한다. 특정 문자 셋에 대한 콜레션은 SHOW COLLATION 명령문을 통해 확인할 수 있다. 예를 들면, latin1 (cp1252 서 유럽어) 문자 셋의 콜레션을 보고자 한다면, 아래와 같이 입력을 한다:

 

mysql> SHOW COLLATION LIKE 'latin1%';

+---------------------+---------+----+---------+----------+---------+

| Collation           | Charset | Id | Default | Compiled | Sortlen |

+---------------------+---------+----+---------+----------+---------+

| latin1_german1_ci   | latin1  |  5 |         |          |       0 |

| latin1_swedish_ci   | latin1  |  8 | Yes     | Yes      |       1 |

| latin1_danish_ci    | latin1  | 15 |         |          |       0 |

| latin1_german2_ci   | latin1  | 31 |         | Yes      |       2 |

| latin1_bin          | latin1  | 47 |         | Yes      |       1 |

| latin1_general_ci   | latin1  | 48 |         |          |       0 |

| latin1_general_cs   | latin1  | 49 |         |          |       0 |

| latin1_spanish_ci   | latin1  | 94 |         |          |       0 |

+---------------------+---------+----+---------+----------+---------+

 

latin1 콜레션은 아래와 같은 의미를 가지고 있다:

 

Collation

Meaning

latin1_german1_ci

German DIN-1

latin1_swedish_ci

Swedish/Finnish

latin1_danish_ci

Danish/Norwegian

latin1_german2_ci

German DIN-2

latin1_bin

Binary according to latin1 encoding

latin1_general_ci

Multilingual (Western European)

latin1_general_cs

Multilingual (ISO Western European), case sensitive

latin1_spanish_ci

Modern Spanish

 

콜레션은 다음과 같은 일반적인 특성을 가지고 있다:

  • 두 개의 서로 다른 문자 셋은 동일한 콜레션을 가질 수 없다.
  • 각각의 문자 셋은 디폴트 콜레션을 하나씩 가지고 있다. 예를 들면, latin1에 대한 디폴트 콜레션은 latin1_swedish_ci이다. SHOW CHARACTER SET 결과 값은 출력되는 각각의 문자 셋에 대한 디폴트 콜레션이 어떤 것인지를 가리킨다.
  • 콜레션 이름 변환이 존재한다: 콜레션 이름은 서로 연관된 문자 셋의 이름을 가지고 시작되고, 이것들은 일반적으로 언어 이름을 포함하며, _ci (대소 문자 구분 없음), _cs (대소 문자 구분 있음), 또는 _bin (바이너리)로 끝을 맺는다.
서울시 강남구 영동대로 602 6층  TEL: 02-6061-0006
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved