상세 컨텐츠

본문 제목

유니코드(Unicode) - Part 2

Db2 for i

by 아이구르미 2023. 5. 15. 09:00

본문

Part 1에서 Db2 for i 에서 사용 가능한 유니코드 체계는 UTF-8와 UTF-16 이라는 것을 알아보았습니다.

 

Db2 for i에서 유니코드를 사용하는 방법은 복잡하거나 어렵지 않습니다. 시스템의 설정을 변경해야 한다거나, 기존의 다른 DB테이블에 변경을 줄 필요가 없습니다. DB 테이블의 컬럼 타입을 유니코드 형식으로 정의하기만 하면 됩니다. 

 

이번 글에서는 UTF-8 과 UTF-16 으로 DB 테이블의 컬럼 타입을 정의하는 방법을 알아보겠습니다. 

 

문자형 데이터 타입으로 자주 사용하는 형식인 CHAR, VARCHAR 을 UTF-8로 정의하려면 CCSID 1208 을 추가하면 됩니다.

 

 

생성된 테이블의 각 컬럼의 CCSID 를 확인해보면, 각각 933, 1208, 1200 으로 설정되어 있음을 확인할 수 있습니다.

 

이제 각 컬럼에 동일한 한글과 알파벳을 입력해보면, 저장되는 Hex 값과 사용되는 바이트가 다르게 구성됩니다. 

 

데이터 타입 정의 코드 문자 Hexadecimal Value 저장 바이트수
VARCHAR  EBCDIC 0E88610F 4 bytes
VARCHAR CCSID 1208  UTF-8 EAB080 3 bytes
NVARCHAR  UTF-16 AC00 2 bytes

 

데이터 타입 정의 코드 문자 Hexadecimal Value 저장 바이트수
VARCHAR  EBCDIC A C1 1 bytes
VARCHAR CCSID 1208  UTF-8 A 41 1 bytes
NVARCHAR  UTF-16 A 0041 2 bytes

 

관련글 더보기

댓글 영역