DB/MsSQL2013. 5. 14. 15:01

MSSQL의 테이블 데이터가 한글일 경우에는 칼럼의 DataType을 nvarchar로 해야된다고 한다..

 

varchar 와 nvarchar를 비교하자면

varchar 는 영문데이터와 테이블에 설정된 기본 언어 타입을 사용.

nvarchar는 유니코드를 지원을 위한 데이터 형이란다...(단점은 varchar보다 동일한 데이터 저장시 2배의 공간을 사용함.)

 

여튼 나는 위 내용을 몰랐고..

서버는 영문서버였다. 한글데이터를 저장 후 한글이 ??? 으로 표시되더라..

 

한글이 깨지는 문제 발생시 확인 해 보아야 할 사항으로는 다음과 같다.

 

1. 한글이 포함되는 필드의 dateType 확인 (nvarchar)

2. insert 혹은 select 시에 nvarchar 형의 값은 다음과 같이 사용

ex )  

insert into [테이블](칼럼) values (N'한글')

select * from [테이블] where [칼럼] LIKE N'%한글%'

 

3. 기본 언어 확인

ex)

select @@LANGUAGE

계정별 기본언어 변경

sp_defaultlanguage '계정','Korean';

 

4. Select 시 해당 필드 character  set 지정

SELECT [컬럼] COLLECTION Korean_wansung_CI_AS FROM [테이블]

 

 

출처 :

http://imdev.tistory.com/152

http://blog.naver.com/PostView.nhn?blogId=alsduddl525&logNo=140166319233

 

 

 

 

Posted by E.No