MySQL Character Set   MySQL 문자 세트

(2019-06-25)
1. MySQL 문자 세트DBMSMySQL은, 각 레벨별로 다양한 문자 세트를 각각 지원 가능 
     - 다음의 각 레벨별로 개별적으로 지정 가능 : 서버,데이터베이스,테이블,컬럼,문자열 상수문자세트 차이 : 소요 저장 공간, 정렬 및 검색 규칙에 차이가 생김


2. MySQL 문자셋 확인 및 변경

  ㅇ 현재 문자셋 확인
     - SHOW VARIABLES LIKE 'char%' ;
        . character_set_client : utf8, utf8mb4 등
        . character_set_connection : utf8, utf8mb4 등
        . character_set_database : utf8, utf8mb4 등
        . character_set_filesystem : binary
        . character_set_results : utf8, utf8mb4 등
        . character_set_server : utf8, utf8mb4 등
        . character_set_system : utf8, utf8mb4 등
        . character_sets_dir : (MySQL)\share\charsets\
        . collation_connection : utf8_general_ci, utf8_general_ci, utf8mb4_unicode_ci 등
        . collation_database : utf8_general_ci, utf8_general_ci, utf8mb4_unicode_ci 등
        . collation_server : utf8_general_ci, utf8_general_ci, utf8mb4_unicode_ci 등

  ㅇ 기존 테이블별로 문자셋 변경 
     - ALTER TABLE 테이블명 CONVERT TO CHARACTER SET '문자셋명';

  ㅇ 데이터베이스 통째로 문자셋 변경 
     - ALTER DATABASE db명 CHARACTER SET 문자세트명 COLLATE 콜레이션명;
        . 例) alter database db명 character set utf8mb4 collate utf8mb4_unicode_ci;

  ㅇ 데이터베이스 생성시 통째로 문자셋 설정
     - CREATE DATABASE db명 CHARACTER SET 문자세트명 COLLATE 콜레이션명;
        . 例) create database db명 character set utf8mb4 collate utf8mb4_unicode_ci;

  ㅇ 클라이언트,결과셋,커넥션 3개 문자셋을 동시 변경
     - SET NAMES '문자셋명';
        . SET character_set_client = '문자셋명' ;
        . SET character_set_results = '문자셋명' ;
        . SET character_set_connection = '문자셋명' ;


3. MySQL 서버 문자셋UTF-8로 설정하는 例)

  ㅇ 5.1 
     
[mysqld]
character_set_server = utf8  
[client]
default_character_set=utf8 
[mysql]
default_character_set=utf8
ㅇ 5.5.3 이상
[mysqld]
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
character_set_client_handshake = FALSE
[mysql]
default_character_set = utf8mb4
[client]
default_character_set = utf8mb4
※ 한편, MYSQL 5.5.3 부터, utf8mb4가 지원됨 ☞ 유니코드 참조 - utf8 : (기본다국어평면) 만 - utf8mb4 : (기본다국어평면) + (써로게이트영역) ※ 위에서, - [mysqld] : 서버 문자셋 설정 - [client] : 서버에 접속하는 프로그램 문자셋 설정 (例, 상의 PHP 등) - [mysql] : (MySQL\bin) 내 mysql 프로그램 문자셋 설정


[MySQL 변수,타입,문자셋] 1. MySQL 변수 2. MySQL 자료형 3. 문자 세트

 
        최근수정     요약목록     참고문헌