2012-03-05 2 views
1

SQL Server에서 nvarchar 대신 unicode - varchar 대신 8 비트 문자를 사용하는 테이블을 사용하고 있습니다. 일정한 양의 텍스트에는 ASCII 범위를 벗어난 값을 가진 문자가 들어 있습니다 (예 : 둥근 따옴표, em 대시 및 ñ와 같은 국제 문자). 아마도 우리의 모든 PC와 서버가 동일한 코드 페이지를 사용하기 때문에이 방법이 효과적 일 것입니다.SSMS에서 유니 코드가 아닌 텍스트를 포함하는 테이블을 스크립팅하는 방법

그러나 SSMS의 작업> 스크립트 생성 스크립트 도구를 사용하여 이러한 테이블을 스크립팅 할 때 결과 스크립트는 특수 문자를 변환하여 스크립트를 사용하여 테이블을 재구성하면 특수 문자가 타락했다. 예를 들어 "cañon"은 "ca ± on"이됩니다. INSERT 문에서 스크립트에 포함 된 내용을 볼 수 있습니다. 여기서 데이터베이스의 "cañon"은 INSERT 문에서 "ca ± on"으로 나타납니다.

SSMS에서 라운드 트립이 작동하도록 ASCII 범위 외부의 varchar 데이터를 포함하는 테이블을 어떻게 스크립팅합니까?

+0

스크립트 마법사의 출력 옵션에서 유니 코드 텍스트 또는 ANSI 텍스트로 저장하고 있습니까? –

+0

그게 답입니다. 기본값은 Unicode이지만 ANSI가 필요합니다. – howard39

답변

0

CHAR 및 VARCHAR 필드의 확장 ASCII 데이터를 올바르게 스크립트하려면 스크립트 마법사의 출력 옵션에서 ANSI 텍스트로 저장해야합니다.