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 |
Temporary Storage (0) | 2023.08.16 |
---|---|
Cloud Pak for Data as a Service 에서 Db2 데이터 연결하기 (0) | 2023.07.02 |
유니코드(Unicode) - Part 1 (1) | 2023.05.11 |
Db2 for i 클라우드, Pub400.com (무료) (0) | 2023.04.10 |
Db2 SQL로 오픈 API 호출하기 (0) | 2023.03.11 |
댓글 영역