[mysql] utf8과 latin1의 차이점
utf8과 latin1의 차이점은 무엇입니까?
답변
UTF-8 은 세계 지배를 위해 준비 되었지만 Latin1 은 그렇지 않습니다.
Latin1 인코딩을 사용하여 중국어, 일본어, 히브리어, 러시아어 등과 같은 비 라틴 문자를 저장하려고하면 mojibake 로 끝납니다 . 이 기사 의 소개 텍스트가 유용하다는 것을 알게 될 것이다.
전체 4 바이트 UTF-8 지원은 MySQL 5.5에서만 도입되었습니다. 해당 버전 이전에는 문자 당 4 바이트가 아닌 문자 당 3 바이트까지만 진행됩니다. 따라서 BMP 평면 만 지원하고 Emoji 평면은 지원하지 않았습니다. 완전한 4 바이트 UTF-8 지원을 원하는 경우 MySQL을 5.5 이상으로 업그레이드하거나 PostgreSQL과 같은 다른 RDBMS로 이동하십시오. MySQL 5.5 이상에서는이라고 utf8mb4
합니다.
답변
latin1에서 각 문자의 길이는 정확히 1 바이트입니다. utf8에서 문자는 둘 이상의 바이트로 구성 될 수 있습니다. 결과적으로 utf8은 latin1보다 많은 문자를 갖습니다 (그리고 공통적으로 사용되는 문자는 반드시 동일한 바이트 / 바이트 순서로 표현 될 필요는 없습니다).