10.1.10.7 utf8mb4 문자 세트 (4 바이트 UTF-8 Unicode 인코딩)
utf8
라는 문자 세트는 문자 당 최대 3 바이트를 사용하여 BMP 문자를 포함합니다. utf8mb4
문자 세트는 문자 당 최대 4 바이트를 사용하고 보조 문자를 지원합니다.
BMP 문자의 경우
utf8
로utf8mb4
스토리지 특성은 동일 코드 값 인코딩 길이가 동일합니다.보조 문자 내용은
utf8
이 문자를 전혀 포함하지 않지만utf8mb4
문자를 저장하는 데 4 바이트를 필요로합니다.utf8
이 문자를 전혀 포함하지 않기 때문에,utf8
컬럼에는 보조 문자가 아닌utf8
데이터를 이전 버전의 MySQL에서 업그레이드 할 때, 문자의 변환이나 데이터 손실에 대해 걱정할 필요가 없습니다.
utf8mb4
는 utf8
의 슈퍼 세트이기 때문에 다음의 연결과 같은 연산의 경우, 그 결과는 utf8mb4
문자 집합과 utf8mb4_col
데이터 정렬이 포함되어 있습니다.
SELECT CONCAT (utf8_col, utf8mb4_col);
마찬가지로, 다음의 WHERE
절의 비교는 utf8mb4_col
데이터 정렬에 따라 이루어집니다.
SELECT * FROM utf8_tbl, utf8mb4_tbl WHERE utf8_tbl.utf8_col = utf8mb4_tbl.utf8mb4_col;
팁 : 공간을 UTF-8로 저장하는 경우 CHAR
대신 VARCHAR
를 사용하십시오. 그렇게하지 않으면, MySQL은 CHAR CHARACTER SET utf8
(또는 utf8mb4
) 컬럼에 대해서 3 (또는 4) 바이트를 확보해야합니다. 이것은 수있는 최대 길이가 3 (또는 4) 바이트이기 때문입니다. 예를 들어, MySQL은 CHAR(10) CHARACTER SET utf8mb4
컬럼에 대해 40 바이트를 확보해야합니다.