10.1.10.5 utf8 문자 세트 (3 바이트 UTF-8 Unicode 인코딩)
UTF-8 (8 비트 Unicode Transformation Format)은 Unicode 데이터를 저장하는 또 다른 방법입니다. 이것은 1에서 4 바이트를 사용하는 인코딩 시퀀스에 적용 RFC 3629에 따라 구현되어 있습니다. (UTF-8 인코딩 이전의 표준 인 RFC 2279에서는 1에서 6 바이트를 사용하는 UTF-8 시퀀스에 대해 설명하고 있습니다 .RFC 3629은 RFC 2279을 해제하기 위해 5와 6 바이트의 순서는 이미 사용되지 않습니다.)
UTF-8의 개념은 서로 다른 길이의 바이트 순서를 사용하여 다양한 Unicode 문자를 인코딩하는 것입니다.
기본적인 라틴 문자, 숫자, 구두점은 1 바이트를 사용합니다.
확장 라틴 문자 (물결표, 長音符 호, 양음, 구라붸 및 다른 악센트 부호), 키릴 문자, 그리스어, 아르메니아어, 히브리어, 아랍어, 시리아 어 등 대부분의 유럽 및 중동 스크립트 문자는 2 바이트 순서에 맞습니다.
한국어, 중국어, 일본어의 표의 문자는 3 바이트 또는 4 바이트의 시퀀스를 사용합니다.
MySQL 5.6의 utf8
문자 집합은 5.6 이전과 같고, 특성도 동일합니다.
보조 문자의 지원없이 (BMP 문자 만).
멀티 바이트 문자 당 최대 3 바이트.
utf8
는 ucs2
와 똑같은 문자 집합을 사용할 수 있습니다. 즉, 레퍼토리도 마찬가지입니다.
팁 : 공간을 UTF-8로 저장하는 경우 CHAR
대신 VARCHAR
를 사용하십시오. 그렇게하지 않으면, MySQL은 CHAR CHARACTER SET utf8
컬럼에 대해서 3 바이트를 확보해야합니다. 이것은 수있는 최대 길이가 3 바이트이기 때문입니다. 예를 들어, MySQL은 CHAR(10) CHARACTER SET utf8
컬럼에 대해 30 바이트를 확보해야합니다.
데이터 형 스토리지의 자세한 내용은 섹션 11.7 "데이터 유형의 스토리지 요구 사항" 을 참조하십시오. COMPACT
행 형식을 사용하는 InnoDB
테이블이 UTF-8 CHAR(
열을 내부에서 처리하는 방법을 포함하여 N
)InnoDB
물리적 행 스토리지의 자세한 내용은 섹션 14.2.13.7 "물리적 행 구조" 를 참조하십시오 .