320x100
MYSQL에서 다국어 지원을 위해 인코딩을 UTF로 설정 해야한다.
UTF은 글자당 바이트 수에 따라 숫자가 붙는데 UTF-8, UTF-16, UTF-32등으로 나뉜다.
UTF-16은 기본 다국어 평면에 해당하는 문자를 16비트(2바이트)로, 그 외는 32비트(4바이트)로 저장하고, UTF-32는 모든 문자를 32비트(4바이트)로 저장한다.
가장 많이 사용하는 UTF-8은 8비트부터 32비트까지 가변적으로 ASCII와 유니코드를 병행해 저장할 수 있어 자주 사용한다.
하지만 MYSQL의 utf8은 과거 UTF-8을 완벽하게 지원하지 않고 3바이트까지로 제한된 방식으로 구현했었다.
대부분의 문자들이 해당 바이트 내에서 표현됐기 때문이라고 생각하는데, 최근들어 4바이트로 표현되는 문자들이 생기면서 기존 utf8mb3로는 모든 글자를 표현할 수 없는 문제가 발생하기 시작했다.
MYSQL에서는 해결 방법으로 utf8mb4 방식을 지원하며 UTF-8을 완벽하게 지원하기 시작했다.
만약 기존 utf8mb3에서 utf8mb4로 변환하는 경우엔 컬럼 크기에 따라 지원하는 최대 글자 수가 줄어들므로 컬럼 크기의 변경을 고려해야한다.
https://m.blog.naver.com/jcyber/221753679203
320x100
'DB > MYSQL' 카테고리의 다른 글
INSERT와 REPLACE 차이 (0) | 2021.10.13 |
---|---|
실행 계획 보기 (0) | 2021.10.12 |
스케줄러 사용 (0) | 2021.10.07 |
paging 작업 (0) | 2021.10.07 |
[펌] MyISAM와 InnoDB 비교 (0) | 2021.10.07 |