코드 페이지 아키텍처
데이터 정렬은 SQL Server에서 문자열의 물리적 저장소를 제어합니다. 데이터 정렬은 각 문자를 나타내는 비트 패턴과 문자가 정렬되고 비교될 때 사용되는 규칙을 지정합니다.
컴퓨터에서 문자는 ON 또는 OFF가 되는 서로 다른 비트 패턴으로 표시됩니다. 1바이트는 8비트이고 8비트는 256개의 개별 패턴을 갖는 ON 및 OFF가 될 수 있습니다. 따라서 1바이트를 사용하여 각 문자를 저장하는 프로그램은 각 비트 패턴에 문자를 할당하여 최대 256개의 개별 문자를 표시할 수 있습니다. 2바이트는 16비트이고 16비트는 65,536개의 고유 패턴을 갖는 ON 및 OFF가 될 수 있습니다. 2바이트를 사용하여 각 문자를 표시하는 프로그램은 최대 65,536개의 문자를 표시할 수 있습니다.
싱글바이트 코드 페이지는 1바이트에서 가능한 256개 비트 패턴 각각에 매핑되는 문자의 정의입니다. 코드 페이지는 대문자와 소문자, 숫자, 기호 및 느낌표(!), at 기호(@), 숫자 기호(#) 또는 백분율(%)과 같은 특수 문자의 비트 패턴을 정의합니다. 독일어 또는 스페인어와 같은 각 유럽어에는 자체 싱글바이트 코드 페이지가 있습니다. 라틴어 알파벳 문자(A-Z)를 표시하는 데 사용하는 비트 패턴은 모든 코드 페이지에 대해 동일하지만 악센트 부호가 있는 문자를 표시하는 데 사용하는 비트 패턴은 코드 페이지마다 다릅니다.
싱글바이트 문자 집합으로는 여러 언어에서 사용하는 모든 문자를 저장할 수 없습니다. 일부 아시아 언어에는 수천 개의 문자가 있으므로 문자당 2바이트를 사용해야 합니다. 이러한 언어를 위한 더블바이트 문자 집합과 해당 코드 페이지도 정의되어 있습니다.
다음 표에서는 SQL Server에서 지원하는 코드 페이지를 보여 줍니다.
코드 페이지 |
설명 |
---|---|
1258 |
베트남어 |
1257 |
발트어 |
1256 |
아랍어 |
1255 |
히브리어 |
1254 |
터키어 |
1253 |
그리스어 |
1252 |
라틴어1(ANSI) |
1251 |
키릴 자모 |
1250 |
중앙 유럽어 |
950 |
중국어(번체) |
949 |
한국어 |
936 |
중국어(간체) |
932 |
일본어 |
874 |
태국어 |
850 |
다국어(MS-DOS 라틴어1) |
437 |
MS-DOS 미국 영어 |
여러 가지 데이터 정렬에서 비유니코드 데이터에 대해 동일한 코드 페이지를 사용할 수 있습니다. 예를 들어 1251 코드 페이지는 키릴 자모 문자 집합을 정의합니다. 이 코드 페이지는 키릴 자모 일반 용어, 우크라이나어 및 마케도니아어(FYROM_90)와 같은 여러 데이터 정렬에 사용됩니다. 이러한 모든 데이터 정렬에서 비유니코드 문자 데이터를 나타내는 데 동일한 비트 집합이 사용되지만 적용되는 정렬 및 비교 규칙은 약간씩 다릅니다. 즉, 데이터 정렬과 관련된 언어 또는 알파벳에서 올바른 문자 순서에 대한 사전 정의를 처리할 수 있도록 적용되기 때문입니다.