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
운영게시판
최근게시물
PostgreSQL Q&A 5819 게시물 읽기
No. 5819
한글깨짐 pgsql 7.4.5
작성자
pgsql
작성일
2005-01-23 01:37ⓒ
2005-01-23 11:34ⓜ
조회수
4,800

linux red hat(한글깔려있음) + java + pgsql 7.4.5

==> java application 을 만듭니다. web이 아닙니다.

 

1. pgsql config 시 --enable-locale도 안했습니다.

2. db 생성시, unicode를 안했습니다....

3. initdb시 -E EUC-KR 도 안해습니다.

그래도, postgresql에 한글 insert/select는 잘됩니다.

create table/insert는 각각 file에 적어서 했습니다.

 

그러나, 문제는 java application에서 jdbc를 통해

한글 data를 가져오면, 한글이 깨집니다.

 

검색하면, 한글 issue로 많은 글이 있지만,

정확한 설명이 없네요... 초보자가 보기에는 특히, 언제 그것을 하라는지...

잔듯 이거 해보셔요 저거 해보셔요 하는데, 언제는 없더라고요...

 감사하겠습니다... 조언 부탁합니다.

 

 

 

 

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

화면의 다른 한글은 안 깨지는데 DB에서 읽어온 한글만 ? ? ? 로 보이나요?

pgsql + jdbc 환경에서 한글이 깨지기가 쉽지 않은데요. 혹시 읽기는 잘 읽어 왔는데 이것을 뿌려줄 때에 뭔가 문제가 생긴 것 아닐까요?

database의 encoding이 유니코드가 아니라면 EUC-KR 인가요? 혹시 US-ASCII?

박성철(gyumee)님이 2005-01-23 01:48에 작성한 댓글입니다.
이 댓글은 2005-01-23 01:51에 마지막으로 수정되었습니다.

 

> 화면의 다른 한글은 안 깨지는데 DB에서 읽어온 한글만 ? ? ? 로 보이나요?

예 -

 linux redhat 9.0에서

       application 화면의 다른 한글은 잘보입니다.

       jdbc로 가져와 바로 보이면 깨지구요,      

       String( str.getBytes("KSC... ), 88..) 로 보이면 ??? 만 보입니다.

 

> pgsql + jdbc 환경에서 한글이 깨지기가 쉽지 않은데요.

> 혹시 읽기는 잘 읽어 왔는데 이것을 뿌려줄 때에 뭔가 문제가 생긴 것 아닐까요?

모르겠습니다.

 

> database의 encoding이 유니코드가 아니라면 EUC-KR 인가요? 혹시 US-ASCII?

   initdb 할때, 어떤 option도 주지 않았습니다.

 

www.postgresql.org를 가 보았는데,  postgre7.4.5는 ./config시

--enable-unicode-conversion도 없고, --multibyte도 없고...

이 곳에 있는 한글정보는 옛날 version에 해당하는 것이라서...

 

 

pgsql님이 2005-01-23 11:15에 작성한 댓글입니다.
이 댓글은 2005-01-23 11:24에 마지막으로 수정되었습니다. Edit

> jdbc로 가져와 바로 보이면 깨지구요,

> String( str.getBytes("KSC... ), 88..) 로 보이면 ??? 만 보입니다.

 

DB가 US-ASCII일때의 상황과 비슷하군요.

String(str.getBytes("ISO-8859-1"), "EUC-KR")로 해보세요.

 

>www.postgresql.org를 가 보았는데, postgre7.4.5는 ./config시

>--enable-unicode-conversion도 없고, --multibyte도 없고...

>이 곳에 있는 한글정보는 옛날 version에 해당하는 것이라서...

 

예. 예전 version 것이구요. 요즘은 기본으로 포함됩니다.

박성철(gyumee)님이 2005-01-23 15:20에 작성한 댓글입니다.

~님의 회답이 언제 올지 의존할수 없어서...

밀고 다시 깔았습니다... ㅠㅠ

 

< postgres install 시 >

  initdb라는 command를 써야 합니다.

  그때에, 

       > initdb --encoding =euc-rk   --locale=ko_kr  -D  /usr/local/pgsql/data

 

한글이 정상적으로 나옵니다.

한가지 안타까운것은 www.postgresql.or.kr가 하나도 도움이 오늘까지 있는

data를 보면, 않됐다는 것입니다. 그럼 -

 

           

pgsql님이 2005-01-23 16:01에 작성한 댓글입니다. Edit

www.postgresql.or.kr 홈페이지는 위키로 운영됩니다.

 

오늘 고생하셨다면, 다른 분들이 고생하지 않도록 작업하신 내용을 한번 정리하셔서 www.postgresql.or.kr 홈페이지에 등록 해주시면 고맙겠습니다. :)

 

김상기(ioseph)님이 2005-01-23 22:29에 작성한 댓글입니다.

끊임 없이 이야기하는 것이지만, PostgreSQL에서 한국어 처리를 위한 가장 권장하는 데이터베이스 인코딩은 utf-8입니다.

 

한국어 자료에 대한 정렬 문제와 like 연산에서 인덱스를 사용할 수 있도록 처리하기 위해서는 initdb 명령으로 만들어지는 데이터베이스 클러스터의 LC_COLLATE 값이 'C' 여야지 깔끔하게 작동합니다.

 

즉 정리를 하면,

 

initdb --no-locale -E unicode -D data_dir

또는

initdb --locale=ko_KR.UTF-8 --lc-collate=C -E unicode -D data_dir

 

이런 형태로 어떻게든 collate 값을 C로 하고, 인코딩을 unicode(utf-8)로  데이터베이스 클러스터를 만들어 쓰면 됩니다.

(--no-locale 옵션은 서버 메시지를 영어로 쓸 경우고, --locale=ko_KR.UTF... 옵션은 서버 메시지를 한글로 쓰는 경우입니다. 8.0 이전 버전에서는 필요없겠지요.)

 

윗 시안은 정답이 아닙니다. 하지만, 가장 바람직한 방법입니다.

 

8.0에서는 collate 값만 C로 만들어 주면, PG_ASCII 인코딩에서도 한글을 잘 사용할 수 있습니다. 하지만 이것은 편의성의 문제이지, 근본적인 바람직한 방법은아니지요.

 

아무튼 관심은 별로 없겠지만,

이곳 게시판에서 한글 인코딩, 문자셋, 로케일 ... 이것들로 검색하면, PostgreSQL과 한글과의 관계에 대한 여러 글들이 있습니다. 차근히 읽어보시면 많은 부분을 생각할 수 있게 할겝니다.

김상기(ioseph)님이 2005-01-23 22:43에 작성한 댓글입니다.

> 밀고 다시 깔았습니다... ㅠㅠ

 

잘하셨네요. 이게 사실은 정답입니다. 처음에 잘못 설치하신 것이 문제였습니다. 전 자료가 이미 다량 저장되어 있는 경우인 줄 알고 우회할 방법을 알려드린 것이였습니다.다.

 

> 한가지 안타까운것은 www.postgresql.or.kr가 하나도 도움이 오늘까지 있는 data를 보면, 않됐다는 것입니다. 그럼 -

 

저도 안타깝습니다. 하지만 linux와 마찮가지로 postgresql도 특정 업체가 이윤을 보면서 제작한 상품이 아닌 Open Source 라는 것을 기억하셔야 할 겁니다. 즉 공동 제작, 공동 소유, 공동 지원... 자신이 문제를 발견했다면 그 문제를 가장 잘 해결할 수 있는 위치에 있는 사람이 자신이라는 것...

 

박성철(gyumee)님이 2005-01-23 23:58에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5825postgresql8,pgpool등 강좌를 올리려니 않되성 T.T [3]
조성준
2005-01-25
2488
5821삼성동에서 내일 오프라인 모임 가질 예정입니다. 장소는? [9]
김상기
2005-01-24
2675
5820PostgreSQL 에 대한 도서좀 추천해 주세요^^ [5]
겅이
2005-01-23
3296
5819한글깨짐 pgsql 7.4.5 [7]
pgsql
2005-01-23
4800
5818파일경로 저장하는데 역슬러쉬 "\"가 저장이 안되네요 [3]
초보자
2005-01-21
3055
5817PHP + PostgreSQL 에서의 DB세션 제어 문제.. [7]
신기배
2005-01-20
3290
5812PostgreSQL 8 에서 한글 검색이 안됩니다. [5]
나그네
2005-01-19
4199
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다