MSSQL의 테이블에 데이터를 넣었는데, 한글로 넣었더니 출력이 제대로 되지 않고 ??로 깨져서 출력되었다.
인코딩 문자 설정을 확인해봤지만 utf-8으로 제대로 설정이 되어있었고,
유니코드 지원을 위해서는 컬럼의 데이터 타입이 varchar가 아닌 nvarchar로 지정되어야 한다고 해서 역시 확인해봤지만
nvarchar로 제대로 지정이 되어 있었다.
문제 해결
알고보니 ! 컬럼의 데이터 타입 뿐만 아니라 데이터를 INSERT할 때에도 N을 붙여줘야 했다.
이렇게 N'한글'로 작성해 데이터를 삽입하면 출력이 깨지지 않고 잘 되는 것을 볼 수 있다 :D
+ GPT에게 물어본 결과 테이블을 생성할 때 테이블의 COLLATE를 UTF-8으로 설정하는 방법도 있다고 한다.
CREATE DATABASE TABLE COLLATE Korean_100_CI_AS_SC_UTF8;
Korean_100_CI_AS_SC_UTF8 : 한국어(대소문자 무시, 서수 정렬, 대소문자 구분, UTF-8) Collation
'SQL 데이터 베이스' 카테고리의 다른 글
[SQL] 데이터 베이스 - 제약 조건 (0) | 2023.04.06 |
---|---|
[SQL] DDL과 DML, WHERE 조건문 (0) | 2023.04.05 |
[SQL] 데이터 베이스, DCL (0) | 2023.03.22 |