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 5810 게시물 읽기
No. 5810
function생성시 에러가 나요
작성자
초보
작성일
2005-01-19 15:57
조회수
2,349

윈XP쓰고 있는데 도스창에서 psql로 function 생성할때

Insert 문장에 한글이 들어가면 "UNICODE"어쩌고 나오는데

어찌하면 될까요 . PGADMIN 에서는 잘되는데 쉘상에서는 잘안되네요

 

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

이런 문제가 발생할 것 같아서,

http://database.sarang.net/?inc=read&aid=5748&criteria=pgsql&subcrit=news&id=&limit=20&keyword=&page=1

 

문서를 미리 마련해 두었습니다.

꼼꼼히 읽어보세요.

 

김상기(ioseph)님이 2005-01-19 16:25에 작성한 댓글입니다.

 

김상기님이 쓰신 여러 문서를 읽어보시면 initdb 시 encoding과 실제 사용시 client_encoding 설정하는 방법이 나옵니다.

 

링크 걸어주신 데로 참고하시면 되고요.

 

XP 에서 사내 DB를 돌릴 일은 없을테니까 postgresql.conf 를 직접 수정하셔도 됩니다.

 

postgresql.conf 를 보시면, (Win32에서는 기본설치시 /data 디렉토리 내부)

# - Locale and Formatting -

#datestyle = 'iso, mdy'
#timezone = unknown  # actually, defaults to TZ environment setting
#australian_timezones = false
#extra_float_digits = 0  # min -15, max 2
#client_encoding = sql_ascii # actually, defaults to database encoding
client_encoding = uhc # actually, defaults to database encoding

 

# These settings are initialized by initdb -- they might be changed
lc_messages = 'C'  # locale for system error message strings
lc_monetary = 'C'  # locale for monetary formatting
lc_numeric = 'C'  # locale for number formatting
lc_time = 'C'   # locale for time formatting

 

부분을 수정하면 됩니다.

 

제 경우는 win32 에서 설치할때도 기본 제공하는 initdb 옵션을 사용하지 않고

initdb ../data -E=UNICODE --no-locale 로 설치하고요.

 

테스트하면 다음 과 같습니다.

mytest=# INSERT INTO pmas01tt(userno, empno, kname)
mytest-# VALUES('0002', '0003', '박인서');
INSERT 17237 1
mytest=# SELECT userno, empno, kname FROM pmas01tt;
WARNING:  ignoring unconvertible UTF-8 character 0xdac0
 userno | empno | kname
--------+-------+--------
 0001   | 0002  | 묑彛          #  client_encoding 을 적절히 설정하지 않은 상태
 0002   | 0003  | 박인서         # client_encoding 을 강제로 지정
(2 rows)

mytest=# \l
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+----------
 mytest    | ispark   | UNICODE
 template0 | postgres | UNICODE
 template1 | postgres | UNICODE
(3 rows)

 

위는 모든 DB 는 unicode 를 사용하도록 맞추어 두고, client_encoding 만 바꾸어서 사용하는 예입니다.

 

 

 

박인서(bubux)님이 2005-01-19 16:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5817PHP + PostgreSQL 에서의 DB세션 제어 문제.. [7]
신기배
2005-01-20
3287
5812PostgreSQL 8 에서 한글 검색이 안됩니다. [5]
나그네
2005-01-19
4193
5811[인덱스 문제] [2]
가시고기
2005-01-19
2069
5810function생성시 에러가 나요 [2]
초보
2005-01-19
2349
5809postgresql.or.kr 오프라인 모임 한 번 합시다. [6]
김상기
2005-01-19
1890
5808pgadmin접속시 에러메세지...? [1]
초보
2005-01-18
2167
58078.0.0 FTP에 떴습니다! [5]
신기배
2005-01-18
2207
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다