1. 문자 (Letter, Character) 이란?
ㅇ 정보 그 자체가 아니라 정보의 매개체로써, 정보를 효율적으로 기록하는 수단
ㅇ 기호,부호(Symbol) 등 주로, 시각적 기호 체계
ㅇ 한편, 1 이상의 문자들로 이루어진 열(列,시퀸스)은, ☞ 문자열(String) 참조
2. 문자 셋 (Character Set), 문자 인코딩 방식 (Character Encoding)
ㅇ 문자 셋/집합 (Character Set)
- 지역별/나라별 등으로 달라지는 `문자 집합` 및 그에 관련된 `문자 인코딩 방식`을 총칭
ㅇ 문자 인코딩 방식 (Character Encoding)
- 특정 문자 집합을 인코딩하는 규칙 모음
* 例) ASCII (영문자,7 비트), ISO 8859 (ASCII 확장,8 비트), EUC-KR (아시아계 중 한국,16 비트),
유니코드(다국어 환경, UTF-8/UTF-16) 등
※ 문자 셋은,
- 문자 데이터의 저장,전달,서버/클라이언트 상호작용,인쇄 등에 관련되며,
- 각 단계 마다, 상대방과 동일 문자셋(문자 인코딩) 방식이 규정되어야 올바른 해석이 가능
※ [참고] ☞ 지역 매개변수(Locale) 참조
- 지역 마다 다른 언어,문자 인코딩,숫자,날짜,시간대,일광절약시간,통화 형식 등의 차이를 나타냄
3. [데이터베이스] 콜레이션 (Collation)
ㅇ 특정 문자셋으로 저장된 값들을 데이터베이스에서,
- `검색,정렬 등의 작업`을 위해
- 문자들 간에 서로 `비교`할 때 등에 사용하는
- 지정된 문자셋에 대한 규칙들의 집합
ㅇ 주로, CHAR, VARCHAR, TEXT와 같은 문자 데이터 타입을 갖는 칼럼에 대해서 만 필요함
ㅇ MySQL 例) 대소문자가 구분되는 문자셋 등에서 대소문자를 구별할 것인지 여부 등
- euc-kr(한글)에서는 대소문자 자체를 구별하지 않음
. euckr_korean_ci (Case Insentive, ci)