데이터 자료형이 필요한 이유

“더작은 공간을 사용하면서 더 빠르게 처리할 수 있는” 방향으로 발전, 이를 위하여 데이터 자료형을 사용하게 되었다.

UTF8 이란?

1~4 byte까지 저장되도록 설계되었다(가변바이트) 하지만 mysql에서는 UTF8이 3byte로 설계됨(그 이유는 전세계 모든언어가 21bit로 저장되기때문에 mysql에서는 좀더 최적화하기위하여 3byte로 설계)

최근 4바이트 문자열(Emoji 등)을 mysql의 utf8로 저장하면 값이 손실된다.

Collation(정렬방식)

utf8_bin(or utf8mb4_bin)

바이너리 저장값 그대로 정렬

utf8_general_ci(or utf8mb4_general_ci)

텍스트를 정렬할때, a 다음에 b가 나타나야 한다는 생각으로 나온 정렬방식,일반적으로 널리사용.

utf8_unicode_ci

general_ci 보다 조금 더 사람에 맞게 정렬

//sraping test
//character set  utf8mb4, collation utf8mb4_unicode_ci 변경
alter database scraping character set =utf8mb4 collate =utf8mb4_unicode_ci;
alter table pages convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table pages change title title varchar(200) character set utf8mb4 collate utf8mb4_unicode_ci;
alter table pages change content content varchar(10000) character set utf8mb4 collate utf8mb4_unicode_ci;

참고: utf8mb4 언어셋 소개 및 표현범위.