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 [테이블]