다음을 통해 공유


유니코드 데이터 사용

유니코드 사양은 전세계의 비즈니스에서 널리 사용되는 대부분 문자에 대해 단일 인코딩 스키마를 정의합니다. 모든 컴퓨터에서는 단일 유니코드 사양을 사용하여 유니코드 데이터의 비트 패턴을 일관성 있게 문자로 변환합니다. 이를 통해 동일한 비트 패턴은 항상 모든 컴퓨터에서 동일한 문자로 변환됩니다. 따라서 받는 시스템이 비트 패턴을 문자로 잘못 변환할 것이라는 걱정 없이 한 데이터베이스나 컴퓨터에서 다른 데이터베이스나 컴퓨터로 데이터를 자유롭게 전송할 수 있습니다.

각 문자를 인코딩하는 데 1바이트를 사용하는 데이터 형식의 문제점은 데이터 형식이 256개의 서로 다른 문자만 표현할 수 있다는 것입니다. 그러므로 유럽의 알파벳 같이 비교적 그 수가 적은 각기 다른 알파벳에 대해서는 여러 인코딩 사양 또는 코드 페이지를 사용해야 합니다. 또한 수천 개의 문자를 갖는 일본의 간지나 우리 나라의 한글과 같은 시스템은 처리할 수 없습니다.

각 MicrosoftSQL Server 데이터 정렬에는 char, varchar 및 text 값에서 각 문자를 나타내는 비트 패턴을 정의하는 코드 페이지가 있습니다. 각 열과 문자 상수에 다른 코드 페이지를 할당할 수 있습니다. 클라이언트 컴퓨터는 운영 체제 로캘에 연결된 코드 페이지를 사용하여 문자 비트 패턴을 해석합니다. 서로 다른 코드 페이지가 많이 있으며 일부 문자는 일부 코드 페이지에만 나타나고 다른 페이지에는 나타나지 않습니다. 일부 문자는 일부 코드 페이지에서 1비트 패턴으로 정의되는 반면 다른 코드 페이지에서는 다른 비트 패턴으로 정의됩니다. 여러 언어를 처리해야 하는 국제적 시스템을 구축해야 하는 경우 모든 컴퓨터에 대해 여러 나라와 지역의 언어 요구 사항을 만족시키는 코드 페이지를 선택하는 것은 어렵습니다. 또한 다른 코드 페이지를 사용하는 시스템과 인터페이스할 때 모든 컴퓨터에서 올바르게 변환되도록 하는 것도 어렵습니다.

유니코드 사양은 각 문자를 인코딩할 때 2바이트를 사용하여 이 문제를 처리합니다. 가장 일반적인 비즈니스 언어를 포함하는 단일 사양의 경우 2바이트 안에 충분한 수의 다양한 패턴(65,536)이 들어 있습니다. 모든 유니코드 시스템은 지속적으로 동일한 비트 패턴을 사용하여 모든 문자를 나타내므로 한 시스템에서 다른 시스템으로 이동할 때 문자가 제대로 변환되지 않는 문제가 발생하지 않습니다. 시스템 전체에서 유니코드 데이터 형식을 사용하면 문자 변환 문제를 최소화할 수 있습니다.

SQL Server에서 다음 데이터 형식이 유니코드 데이터를 지원합니다.

  • nchar

  • nvarchar

  • ntext

    [!참고]

    이러한 데이터 형식의 n 접두사는 National(유니코드) 데이터 형식의 ISO 표준을 나타냅니다.

nchar, nvarchar 및 ntext의 사용법은 다음 사항을 제외하고 각각 char, varchar 및 text와 같습니다.

  • 유니코드는 더 넓은 범위의 문자를 지원합니다.

  • 유니코드 문자를 저장하려면 더 많은 공간이 필요합니다.

  • nchar 열의 최대 크기는 4,000문자이며 char 및 varchar와 같이 8000문자가 아닙니다.

  • 최대값 지정자를 사용하는 경우 nvarchar 열의 최대 크기는 2^31-1바이트입니다. nvarchar(max)에 대한 자세한 내용은 큰 값 데이터 형식 사용을 참조하십시오.

  • 유니코드 상수는 N'유니코드 문자열' 같이 앞에 N이 지정됩니다.

  • 모든 유니코드 데이터는 유니코드 표준에서 정의하는 문자 집합을 사용합니다. 유니코드 열에 사용되는 유니코드 데이터 정렬은 대/소문자 구분, 악센트 구분, 가나 구분, 너비 구분, 이진수 등의 특성을 기반으로 합니다.