MS-SQL에서 쿼리를 돌리다 보면 한글 문자열의 경우 ??? 로 출력과 입력이 되는 경우가 있습니다. 왜 그런 걸까요? 그리고 해결 방법을 알아보도록 하겠습니다.
기본 언어 확인 및 설정:
우선 서버의 언어가 영어나 타국어일 경우 그렇습니다. 언어 설정 확인은 다음과 같이 하면 됩니다:
기본언어를 한글로 변경하려면 다음과 같은 방법으로 진행하면 됩니다:
문자열 데이터 타입:
MS-SQL은 varchar와 nvarchar의 두가지 문자열 타입이 존재합니다. nvarchar는 유니코드 (unicode)를 지원하는 문자 타입이지만 데이터 저장시에 2배의 공간을 사용하죠. 한글은 nvarchar 데이터 타입을 사용해야 합니다.
nvarchar 타입의 컬럼에 한글을 저장할 시에는 N’입력값’의 방식으로 저장해야 합니다.
다음의 예제와 같이 저장을 하면 됩니다:
SELECT 쿼리에는 다음과 같이 실행을 해야 하죠: