• 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. 문자 세트 지원
    2. 오류 메시지 언어 설정
    3. 문자 세트 추가
    1. 문자 정의 배열
    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.3.1 문자 정의 배열

각각의 간단한 문자 세트는 sql/share/charsets 디렉토리에 구성 파일이 있습니다. MYSYS 라는 문자 세트의 경우 파일에는 MYSET .xml 의 이름을 붙일 수 있습니다. 이것은 <map> 배열 요소를 사용하여 문자 집합 등록 정보를 나열합니다. <map> 요소는 이러한 요소에 표시됩니다.

  • <ctype> 는 캐릭터마다 특성을 정의합니다.

  • <lower> 와 <upper> 는 소문자와 대문자를 나열합니다.

  • <unicode> 는 8 비트 문자 값을 Unicode 값에 맵합니다.

  • <collation> 요소는 비교 및 정렬에서 문자의 순서를 조합 순서마다 1 개의 요소로 보여줍니다. 문자 코드 자체가 순서를 제공하기 때문에 이진 데이터 정렬은 <map> 요소는 필요하지 않습니다.

strings 디렉토리의 ctype- MYSET .c 파일에 구현 된 복잡한 문자 세트에는 ctype_ MYSET [] , to_lower_ MYSET [] 등의 해당 배열이 있습니다. 모든 복잡한 문자 세트가 모든 배열을 가지는 것은 아닙니다. 예를 들어, 기존의 ctype-*.c 파일을 참조하십시오. 추가 정보는 strings 디렉토리의 CHARSET_INFO.txt 파일을 참조하십시오.

대부분의 배열은 문자 값으로 인덱싱 256 개의 요소가 있습니다. <ctype> 배열에 문자 값 + 1로 인덱스를 붙일 수있어 257 개의 요소가 있습니다. 이것은 EOF 를 처리하기위한 기존의 규칙입니다.

<ctype> 배열 요소는 비트 값입니다. 각 요소는 문자 집합의 단일 문자의 속성에 대해 설명합니다. 각 속성은 include/m_ctype.h 에 정의 된대로, 비트 마스크로 연결됩니다.

 #define _MY_U 01 / * Upper case * /
 #define _MY_L 02 / * Lower case * /
 #define _MY_NMR 04 / * Numeral (digit) * /
 #define _MY_SPC 010 / * Spacing character * /
 #define _MY_PNT 020 / * Punctuation * /
 #define _MY_CTR 040 / * Control character * /
 #define _MY_B 0100 / * Blank * /
 #define _MY_X 0200 / * heXadecimal digit * /

특정 문자 <ctype> 값은 해당 문자에 적용 적용 가능한 비트 마스크 값의 결합이어야합니다. 예를 들어, 'A' 는 16 진수 ( _MY_X )뿐만 아니라 대 ( _MY_U )이기 때문에, 그 ctype 값은 다음과 같이 정의해야합니다.

 ctype [ 'A + 1] = _MY_U | _MY_X = 01 | 0200 = 0201

m_ctype.h 의 비트 마스크 값은 8 진수 값이지만 MYSET .xml 에서 <ctype> 배열의 요소는 16 진수로 작성해야합니다.

<lower> 와 <upper> 배열은 문자 집합의 각 멤버에 대응하는 소문자와 대문자를 유지합니다. 예 :

 lower [ 'A'] should contain 'a'
 upper [ 'a'] should contain 'A'

각 <collation> 배열은 비교 및 정렬에 어떻게 문자를 정렬 할 필요가 있는지를 나타냅니다. MySQL은이 정보의 값에 따라 문자를 정렬합니다. 경우에 따라서는이 <upper> 배열과 같고, 정렬에서 대소 문자가 구별되지 않는 것입니다. 또한 복잡한 정렬 규칙은 (복잡한 문자 세트의 경우) 섹션 10.3.2 "복잡한 문자 세트의 문자열 조합 지원" 에서 문자열 조합의 설명을 참조하십시오.

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