데이터 자료형이 필요한 이유
“더작은 공간을 사용하면서 더 빠르게 처리할 수 있는” 방향으로 발전, 이를 위하여 데이터 자료형을 사용하게 되었다.
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;