10.1. 일반적인 의미의 문자 셋과 콜레션
10.2. MySQL의 문자 셋과 콜레션
10.3. 문자 셋과 콜레션 지정하기
10.3.1. 서버 문자 셋과 콜레션
10.3.2. 데이터베이스 문자 셋과 콜레션
10.3.3. 테이블 문자 셋과 콜레션
10.3.4. 컬럼 문자 셋과 콜레션
10.3.5. 문자 스트링 리터럴 문자 셋 과 콜레션
10.3.6. 내셔널 문자 셋
10.3.7. 문자 셋 및 콜레션 할당의 예
10.3.8. 다른 DBMS 시스템과의 호환성
10.4. 문자 셋과 콜레션 연결하기
10.5. 콜레션 이슈
10.5.1. SQL 명령문에서 COLLATE 사용하기
10.5.2. COLLATE 구문 우선 순위
10.5.3. BINARY 연산자
10.5.4. 콜레션 판단이 까다로운 사례
10.5.5. 콜레션은 반드시 올바른 문자 셋을 위한 것이어야 함
10.5.6. 콜레션 효과 사례
10.6. 문자 셋 지원으로 영향을 받는 연산
10.6.1. 결과 스트링
10.6.2. CONVERT() 및 CAST()
10.6.3. SHOW 명령문과 INFORMATION_SCHEMA
10.7. 유니코드 지원
10.8. 메타데이터용 UTF-8
10.9. 컬럼 문자 셋 변환
10.10. MySQL이 지원하는 문자 셋과 콜레션
10.10.1. 유니코드 문자 셋
10.10.2. 아시아 문자 셋
MySQL은 데이터를 저장하고 여러 가지 콜레션에 따라서 비교 연산을 할 수 있는 다양한 문자 셋을 지원한다. 문자 셋은 서버, 데이터 베이스, 테이블, 그리고 컬럼 레벨에서 지정할 수가 있다. MySQL은 MyISAM, MEMORY, NDBCluster, 그리고 InnoDB 스토리지 엔진을 위한 문자 셋을 지원한다.
이 장에서는 아래의 주제를 다루고 있다:
- 문자 셋과 콜레션이 무엇인가?
- 문자 셋 할당을 위한 다중-레벨 디폴트 시스템
- 문자 셋과 콜레션을 지정하기 위한 신텍스
- 문자 셋과 콜레션이 영향을 주는 함수와 연산
- 유니코드 지원
- 사용 가능한 문자 셋과 콜레션
문자 셋은 데이터 스토리지 뿐만 아니라 클라이언트 프로그램과 MySQL 서버간의 통신에도 영향을 준다. 만일 여러분이 디폴트와는 다른 문자 셋을 사용해서 서버와 클라이언트 프로그램이 통신하도록 하고자 한다면, 사용하고자 하는 문자 셋을 지정해야 한다. 예를 들면, utf8 유니 코드 문자 셋을 사용하고자 한다면, 서버에 접속을 한 후에 아래의 명령문을 입력한다:
SET NAMES 'utf8';
보다 자세한 정보는 Section 10.4, “문자 셋과 콜레션 접속”를 참조하기 바란다.