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 5875 게시물 읽기
No. 5875
8.0.1 설치시의 인코딩과 설치후 DB Create후의 Server Encoding에 대하여
작성자
김이수(isukim)
작성일
2005-02-05 23:35ⓒ
2005-02-05 23:38ⓜ
조회수
3,372

답변이 없으셔서 여기에 다시씁니다.
먼저, 덕분에 큰문제는 해결된거 같고
일부 해결이 안된건 차차 이사이트의 도움으로 반드시 해결할 수있다는
잔신감이 생깁니다. 정말 고맙습 ㅠ.ㅠ...

 

우선 다른문제부터 말씀드리면...

iconv win32용으로 찾아보았는데
1) libiconv-1.8-1-bin 인데 이건 레지스트리 등록이 잘안되고
2) iconvcodec-1.1.2.win32-py2.3.exe : 이건 python을 먼저 설치해야되고
3) cjkcodecs-1.1 : 이건 어찌써야할지 모르겠더군요(win용이 맞는지...)

할수없이 IDC에 있는 리눅스서버에 업로드해서 리눅스용 iconv로 바꾼후
다운로드해서 해보니 잘되는군요. 감사...

 

리플리케이션은 여기서에서 찾아보니 슬로니라는게 있더군요
근데 정확한 사용법을 몰라서... 찾아보며 연구좀 해봐야할 듯...

 

<<< 인코딩 관련 >>>
어제 말씀하신대로 제가 해본결과는 원래 작성문서에 댓글로 올렸구요
오늘 8.0.1버젼을 다시설치해서 해본결과입니다.

결과를 먼저 요약해보면
설치시 인코딩을 SQL_ASCII 로 설치
설치완료후 template1 에 접속해보면 -> SQL_ASCII 로 나타남
새 DB 를 create후 ->UNICODE 로 나타남.
그래서 varchar(1) 이 한글 한글자가 되고
한글정렬도 제대로 되는거 같습니다.
제가 사용하는 OS는 W2K-Server입니다

 

-- PostgreSQL처음깔고 psql 실행
C:\Program Files\PostgreSQL\8.0\bin>psql template1
Password:
Welcome to psql 8.0.1, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

template1=# show server_encoding;
server_encoding
-----------------
SQL_ASCII
(1 row)

<I style="COLOR: brown">


-- 새로운 데이터베이스 t 생성
template1=# create database t encoding='unicode';
CREATE DATABASE
template1=# \c t
You are now connected to database "t".
t=# show server_encoding;
server_encoding
-----------------
UNICODE
(1 row)

t=# create table t (a varchar(2));
CREATE TABLE
t=# copy t from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 무
>> 궁
>> 화
>> 꽃
>> 이
>> 피
>> 었
>> 습
>> 니
>> 다
>> 햏
>> 몀
>> \.
t=# select a, length(a) from t order by a;
a | length
----+--------
궁 | 1
꽃 | 1
니 | 1
다 | 1
몀 | 1
무 | 1
습 | 1
었 | 1
이 | 1
피 | 1
햏 | 1
화 | 1
(12 rows)

t=# insert into t values('안녕');
INSERT 17271 1
t=# insert into t values('햏');
INSERT 17272 1
t=# select a, length(a) from t order by a;
a | length
------+--------
궁 | 1
꽃 | 1
니 | 1
다 | 1
몀 | 1
무 | 1
습 | 1
안녕 | 2
었 | 1
이 | 1
피 | 1
햏 | 1
햏 | 1
화 | 1
(14 rows)

</PRE>

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

한글 문제는 바로 그 template1 데이터베이스에 똑 같이 테스트를 해보시고, t 데이터베이스와의 차이를 살펴보아야할 것 같네요.

 

근데, 이 글 쓰신게 slony에 대한 이야기지요?

slony 놈은 국내 문서가 거의 없습니다. www.postgresql.or.kr 에 있는 문서와 이곳에 있는 문서 한두개가 전부입니다. 영문문서를 바탕으로 직접 시도해보셔야할 부분입니다.

 

김상기(ioseph)님이 2005-02-06 00:36에 작성한 댓글입니다.

리눅스에서 iconv를 써서 해결하셨다니까 다행입니다. Windows에서 iconv가 잘 설치가 안 된다면 (cygwin을 설치하고, 그 안에서 iconv를 설치하는 수도 있습니다만), jdk를 설치하고 거기에 들어 있는 native2ascii를 써도 됩니다. 이름은 native2ascii이지만, JDK가 지원하는 모든 문자 인코딩 사이의 변환에 쓸 수 있습니다.

 

native2ascii -encoding MS949 input.uhc output.ascii

native2ascii -reverse -encoding UTF-8 output.ascii output.utf8

 

아니면, 그냥 간단한 C 프로그램을 하나 짜셔도 됩니다. Win32 API 가운데 MultiByteToWideChar와 WideCharToMultiByte를 쓰면 쉽게 인코딩 변환 프로그램을 작성할 수 있습니다. Win 95에서는 두 API에서 UTF-8을 쓸 수 없지만, 설마 Win95를 쓰고 계신 것은 아닐 것이고.....

 

 

신정식님이 2005-02-07 13:06에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5881암호 자동입력에 관한 질문 [4]
초짜
2005-02-11
4530
5877desc table명 과 같은 명령어가 뭐에요? [2]
초보
2005-02-07
4111
5876오라클의 select * from tab; 과 같은 명령어가 뭐에요? [3]
초보
2005-02-07
2521
58758.0.1 설치시의 인코딩과 설치후 DB Create후의 Server Encoding에 대하여 [2]
김이수
2005-02-05
3372
5874데이터베이스 복구에 대해 질문.. [1]
초짜
2005-02-05
2484
5873DSN DB 서버 바꾸면서,... [2]
김상기
2005-02-05
2509
5872질문2개 : 8.0.1 을 W2K 에 설치시 한글관련 설정, DB백업 [3]
김이수
2005-02-05
3957
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다