• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 1. 문자 세트 지원
    1. 일반 문자 집합 및 데이터 정렬
    2. MySQL에서의 문자 셋과 콜레션
    3. 문자 셋과 콜레션 지정
    4. 연결 문자 집합 및 데이터 정렬
    5. 응용 프로그램의 문자 집합 및 정렬 순서 구성
    6. 오류 메시지의 문자 세트
    7. 데이터 정렬 문제
    8. 문자열의 레퍼토리
    9. 문자 세트 지원의 영향을받는 연산
    10. Unicode 지원
    11. 이전 Unicode 지원에서 현재 Unicode 지원으로 업그레이드
    12. 메타 데이터에 UTF-8
    13. 컬럼 문자 집합 변환
    14. MySQL에서 지원되는 문자셋과 콜레션
    2. 오류 메시지 언어 설정
    3. 문자 세트 추가
    4. 문자 세트에 데이터 정렬 추가
    5. 문자 세트 구성
    6. MySQL Server에서 시간대 지원
    7. MySQL Server의 로케일 지원
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

10.1.2 MySQL에서의 문자 셋과 콜레션

MySQL Server는 여러 문자 집합을 지원하고 있습니다. 사용 가능한 문자 세트를 나열하려면 SHOW CHARACTER SET 문을 사용합니다. 목록의 일부는 다음과 같습니다. 전체 내용은 섹션 10.1.14 "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 서유럽) 문자 집합의 정렬 순서를 표시하려면이 문을 사용하여 이름이 latin1 로 시작하는 데이터 정렬을 찾습니다.

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 데이터 정렬의 의미는 다음과 같습니다.

데이터 정렬 의미
latin1_german1_ci 독일의 DIN-1
latin1_swedish_ci 스웨덴어 / 핀란드어
latin1_danish_ci 덴마크어 / 노르웨이어
latin1_german2_ci 독일의 DIN-2
latin1_bin latin1 인코딩을 기반 바이너리
latin1_general_ci 다국어 (서유럽)
latin1_general_cs 다국어 (ISO 서유럽 어), 대문자와 소문자를 구별
latin1_spanish_ci 현대 스페인어

데이터 정렬에는 다음과 같은 일반적인 특징이 있습니다.

  • 두 개의 서로 다른 문자 집합으로 동일한 데이터 정렬을 공유 할 수 없습니다.

  • 각 문자는 기본 데이터 정렬이 1 개 존재합니다. 예를 들어, latin1 의 디폴트 조합 순서는 latin1_swedish_ci 입니다. SHOW CHARACTER SET 의 출력에 표시되는 각 문자 집합의 기본 데이터 정렬이 표시됩니다.

  • 데이터 정렬 이름에 대한 문자 집합의 이름으로 시작 일반적으로 언어 이름을 포함 _ci (대소 문자를 구별하지 않는다), _cs (대소 문자 구분) _bin (이진) 중 하나 끝나는라는 규칙이 적용됩니다.

문자 집합에 여러 데이터 정렬이 있으면 어떤 데이터 정렬이 소정의 애플리케이션에 가장 적합한 지 명확하지 않을 수 있습니다. 잘못된 데이터 정렬을 선택하지 않도록하려면 대표적인 데이터 값을 비교하고, 특정 데이터 정렬에서 예상대로 값이 정렬되는 것을 확인하는 것이 좋습니다.

Collation-Charts.Org 는있는 데이터 정렬과 다른 데이터 정렬과 비교를 나타내는 유용한 정보 사이트입니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved