본문 바로가기
  • 읽고보고쓰고
PROGRAMMING/Database

MSSQL 동적쿼리 내 한글깨짐

by 체리그루브 2018. 3. 15.
728x90


해외서버에 구축한 MSSQL 에서 한글이 깨진다.

한국서에서 했을 때는 잘 나오는데, 해외서버는 Collate를 다르게 줘서 보통 신경써야 하는 부분이 아니다.


개발환경은 Latin_General_100_CI_AS 문자 셋에서

동적쿼리 실행했을 때, 에러. 해외 사이트를 뒤져도 마땅한 해답을 찾을 수 없어,

이것 저것 하다가 결국 실행 성공!


다음은 성공한 케이스 예제.

키뽀인트는 N 을 어디어디에 넣었는지 볼 것!


  declare @D_SQL NVARCHAR(MAX) = N'select  @C'

        ,@C    NVARCHAR(40) = N'한글'

        ,@EXEC_PARAM NVARCHAR(MAX)


        SET @EXEC_PARAM = N'@C NVARCHAR(40)'

  EXEC sp_executesql @D_SQL, @EXEC_PARAM, @C


심지어는 다음과 같이 해도 된다.


  declare @D_SQL NVARCHAR(MAX) = N'select  N''한글'''

  EXEC sp_executesql @D_SQL


끝.

728x90

댓글