database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1073 게시물 읽기
No. 1073
DB2의 한글 크기 3바이트
작성자
윤세관(caesargj)
작성일
2006-08-08 15:27
조회수
14,457

DB2는 초짜인데 NT서버에 DB2가 설치되있습니다.

버전은

DB2 UDB and DB2 Connect v8.2.3 (v8.1 with FixPak 10) 라고 되있네요.

 

근데 한글의 용량이 3바이트로 잡힙니다.

자바 코드등 개발에 사용된 모든 언어에서 2바이트로 처리를 했는데 한글이 3바이트가 잡힙니다.

제가 설치한건 아니라 잘은 모르지만 캐릭터셋이 UTF-8로 되있다고 합니다.

http://database.sarang.net/?inc=read&aid=818&criteria=db2&subcrit=&id=&limit=20&keyword=%C7%D1%B1%DB&page=1

이곳에 있는 SOSI 같은것두 아닌듯 싶습니다.

select LENGTH('내일중GL') from sysibm.sysdummy1 이라고 쿼리를 날리면

11Byte가 나옵니다.

한글을 2바이트로 사용할 수 있는 방법좀 알려주세요.

이 글에 대한 댓글이 총 3건 있습니다.

 

 

utf-8은 db저장시 1-4byte를사용하고, utf-16은 db저장시 2,4byte를사용합니다.
한글은 utf-8에서 3byte를 할당합니다. 중국어같은 경우 4byte가 할당되는걸로 압니다.
utf-8에서 각바이트의 high bit는 순서를 표시하고 first byte는 전체 바이트의 수를 표시하는듯합니다.

 

UTF-8 is a varying-length encoding of byte sequences with the high bits indicating the part of the sequence to which a byte belongs. The first byte indicates the number of bytes to follow in a byte sequence.

 

UTF-16 uses a fixed 16-bit code assignment for each character, except for characters encoded by surrogates, which consist of a pair of 16-bit values.

 

프로그램안에서는 신경안써도 될듯 합니다. 단지 필드크기 정하실때 한글은 3바이트로 계산해야 할 것입니다.

 

박진복(pjb708)님이 2006-08-09 08:16에 작성한 댓글입니다.
이 댓글은 2006-08-09 08:19에 마지막으로 수정되었습니다.

답변 감사 합니다.

최대한 2바이트로 바꿀 수 있도록 노력해봐야 겠습니다.

페이지(jsp)단 에서 입력 문자열의 최대 길이를 체크하는 부분들이 모두 2바이트 기준으로 되있고 저장 용량도 2바이트로 저장될때 보다 현저히 줄어드는 문제가 있어서요.

윤세관님이 2006-08-09 14:19에 작성한 댓글입니다. Edit

export를 받은 후 UTF-8 인 아닌 DB를 만들어 import해보세요. 

도님이 2006-11-02 18:15에 작성한 댓글입니다.
이 댓글은 2006-11-02 18:16에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1079update join view 사용관련 [1]
새벽이
2006-08-17
7928
1078CLI0002W 오류 해결법 부탁드립니다. [3]
장치영
2006-08-10
8544
1077[질문] EXCEPT ALL 랑 EXCEPT 차이를 모르겠습니다. [2]
이준식
2006-08-10
7932
1073DB2의 한글 크기 3바이트 [3]
윤세관
2006-08-08
14457
1072[질문] 이거 좀 이상하지 않나요? [3]
이준식
2006-08-04
7236
1071검색건수가 2건일때 한건으로 나타나게 하고 싶은데 어떻게 해야할 까요? [4]
김현철
2006-08-03
7812
1070insert, update시에 로그 안남게 하는 방법? [1]
이문선
2006-07-31
8353
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다