2012-05-10 2 views
6

내 사이트에서 유니 코드 텍스트를 사용하고 싶습니다. 데이터를 저장할 데이터베이스에 nvarchar (max) 데이터 형식이 있습니다. 유니 코드 텍스트를 데이터베이스에 저장하면 잘 작동합니다. 그러나 일부 SQL 작업을 수행하려고하면 유니 코드 텍스트가 "?????"로 변경됩니다. 예,SQL Server 2008에서 유니 코드 텍스트 사용

declare @unicodetext nvarchar(250) 
set @unicodetext='बन्द' 
select @unicodetext 

결과

sqlunicode

이에 대한 해결책은 무엇인가

아래의 쿼리? 감사

+0

데이터베이스의 기본 데이터 정렬은 무엇입니까에서 사용할 수 없습니다? – Oded

+0

@Oded 기본 정렬은 SQL_Latin1_General_CP1_CI_AS – Paras

답변

10

declare @unicodetext nvarchar(250) 
set @unicodetext = N'बन्द' 
select @unicodetext 

은 어쩌면 당신은 당신을 위해 DDL 스크립트를 생성 할 때 SQL 서버가 어떤 인용 문자열 입력에 N를 사용하는 것으로 나타났습니다보십시오. 당신은 문자의 유형을 수락하거나이 같은 당신의 선택에 정렬 절을 추가 할 수 정렬로 데이터베이스 데이터 정렬을 설정해야

+0

입니다. 유니 코드 텍스트는'N' 수정자를 사용하여 그와 같은 자격을 갖추어야합니다. – Oded

1

declare @unicodetext nvarchar(250) 
set @unicodetext='बन्द' 
select @unicodetext 
COLLATE Indic_General_90_CI_AS 

(구글이이 힌디어 문자 나에게 말했다)이 일을 못해,하지만 난 SQL 서버 2005 BOL에서 이걸 발견 다음 Windows 2000의 정렬 테이블이 SQL Server 릴리스에서 사용되기 때문에

4 힌디어 데이터 정렬은 SQL Server 2005에서 사용되지 않습니다. 서버에 데이터 정렬이 여전히 존재하지만 향후 SQL Server 릴리스에서는 에서 지원되지 않으며 :: fn_helpcollations()에는 표시되지 않습니다.

5 힌디어와 Lithuanian_Classic 정렬이 서버 2005이 정렬은 여전히 ​​서버에 존재하지만, 그들은 미래의 SQL Server 릴리스에서 지원되지 않을 것이며, 자신들이 를 표시하지 않는 SQL에서 사용되지 않습니다 :: fn_helpcollations(). 2008

:

힌디어 (인도) - 서버 수준

관련 문제