UTF-8(바이트 또는 문자)을 사용하는 MySQL에서 VARCHAR 길이는 어떻게 작동합니까?

Barbara Streisand
풀어 주다: 2024-11-22 02:21:13
원래의
513명이 탐색했습니다.

How do VARCHAR lengths work in MySQL with UTF-8: Bytes or Characters?

MySQL VARCHAR 길이 및 UTF-8: 바이트 대 문자

MySQL 테이블에서 VARCHAR 필드를 생성할 때 VARCHAR 필드를 생성하는 방법을 이해하는 것이 중요합니다. 지정된 길이가 해석됩니다. 4.1 이전의 MySQL 버전에서는 VARCHAR 길이가 바이트 단위로 정의되었습니다. 그러나 MySQL 4.1부터는 길이가 문자 단위로 계산됩니다.

UTF-8 테이블의 VARCHAR(32) 필드는 32바이트가 아닌 32자를 나타냅니다. 이는 UTF-8이 가변 길이 인코딩이기 때문에 각 문자가 여러 바이트(최대 4바이트)를 차지할 수 있기 때문입니다.

버전 5에 대한 공식 MySQL 문서에는 다음과 같이 명시되어 있습니다.

"MySQL 문자 열 정의의 길이 지정을 문자 단위로 해석합니다. 이는 CHAR, VARCHAR 및 TEXT 유형에 적용됩니다."

단, 최대 길이는 VARCHAR 열도 UTF-8의 영향을 받습니다. MySQL 5.0.3 이상에서는 유효 최대 길이가 행 크기(65,535바이트)와 사용된 문자 세트에 의해 제한됩니다.

예를 들어 UTF-8 문자는 문자당 최대 3바이트가 필요할 수 있으므로 , UTF-8을 사용하는 VARCHAR 열은 최대 21,844자로 선언할 수 있습니다. 21,844에 3(문자당 바이트 수)을 곱하면 65,532가 되어 최대 행 크기 내에서 다른 열 데이터를 위한 3바이트의 버퍼가 남게 되기 때문입니다.

위 내용은 UTF-8(바이트 또는 문자)을 사용하는 MySQL에서 VARCHAR 길이는 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿