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 4748 게시물 읽기
No. 4748
문자셋 문제..
작성자
장나영
작성일
2003-06-05 02:19
조회수
2,453

postgresql 7.2.2 <= 레드햇8.0 배포본에 있는 포스트그레스를 사용 합니다.

 

rpm으로 설치 했구요..

 

문자셋에러가

pg_exec() query failed: ERROR: Invalid EUC_KR character sequence found (0xc520)

이런 식으로 나고 있습니다. 게시판에 웹페이지를 넣었더니 (태그들을 복사해서 넣었더니.. [태그입력가능하게..])

 

그리고 이상한건 어느땐 에러가 않나고 어느땐 에러가 않나고...... ㅡㅡ;;

 

(현재 저는 포스트그레스를 디비와 php를 이용해서 웹에만 사용 합니다. )

 

검색해 보내 김상기님이 글을 쓰신게 있더라구요...

쩝 제가 너무 몰라서 질문좀 할게요..

 

1. utf8 문자셋을 사용한다. <= 이건 initdb -E utf8 이렇게 하란 말인거죠..

 

제가 잘 몰라서 그러는데 만약 그렇게 한다면 뭐가 문제가 되는지... php작성시에.? 아님 사용자가 익스플로러로 볼때 문제가 생기는 건가여.? 쩝 저의 무지를 용서 하시어 대답해 주세요.. ^^;;

 

코멘트중에.....

*이곳에서 '아햏햏'이 가능한것은

이 페이지의 html 소스를 보시면 아시겠지만, <== 어디가 그렇다는 것인지. charset 이 않보이든데... ^^;; 자세히좀...

euc-kr 글자에서 표시하지 못하는 것은 html 특수문자 표현방식으로 바꾸어서(어떻게 바꾸나여? ) db에 저장하고, 그것을 보여주기 때문입니다.

 

2. pg_verifymbstr() 을 해킹해서 쓴다.. <= src/backend/utils/mb/wchar.c 어쨋든 wchar.c를 수정해서 쓰란 말인가여.?/?

 

쩝... 해킹해서 쓴다는 말을 잘 모르겠어요 그리고 rpm으로 깔아서 그런지 wchar.c란 화일이 없는데.. 찾아보니

/usr/lib/perl5/5.8.0/i386-linux-thread-multi/bits/wchar.ph

/usr/include/bits/wchar.h

/usr/include/wchar.h

이렇게 세가지 화일이 있네요..

 

3. 써주셨던 3번은.. ^^;; 아쉽게도 이용도 못하는데 다시 만든다는건 불가능해보이구 (엄청난 수련을 해야 가능할듯... ^^;; 죄송..)

 

4. 확장완성형을 포기한다. (과감한 방법이지만, 이것을 도입한다면, 고의적이든, 고의적이지 않던간에, 사용자의 비표준어 글자들을 막을 수는 있습니다) <== 이렇게 써주셨는데 포기한다는게... 뭔뜻이져..?? 확장완성형 대신 다른 어떤것을 사용해서 할수 있다는 말같은 느낌이 들어서여.. ^^;; 헤헤..

 

 

쩝... 이야기 하고 싶은건 제가 php(웹)으로만 사용하는데 가장 적절하게 이용할수 있는 것의 추천(구축 방법제시도... ^^;;) 입니다.

 

지난번 튜플문제로 고생할때 upgrade 하라구 하셔서... 고민하던걸 풀었거든요... ^^

 

쩝.. 부탁만 하다니.. 이곳의 여러분들께.. 송구스럽네요...

 

^________^

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

1. create database 명령을 사용할 때, 문자셋을 유니코드로 사용한다는 것입니다.

이렇게 되면 응용프로그램이 유니코드 기반으로 바뀌어야한다는 엄청난 수고를 포함하고 있습니다.

(상식적인 수준에서 본다면 과감한 생각입니다.)

 

2. pg_verifymbstr 게시판 검색하면 나옵니다.

물론 이것은 PostgreSQL 소스를 구하고 컴파일을 새로 해야함을 의미합니다.

 

4. 기존에 있는 그대로 사용하면서 "우리 게시판은 비표준어인 '아햏햏' 같은 글은 입력될 수 없습니다"라고 사용자에게 알려주는 방법이지요.

(개인적으로 제일 멋진 방법인데, 모든 사람들이 싫어할 방법이지요)

 

아무튼, 글 쓰신 분의 질문 내용으로 보아, php의 htmlspecialchars() 함수를 이용한 확장완성형 글자를 변환하는 방법이 제일 손 쉬울 것같습니다.

 

table에 insert 하기 전에 문자열을 윗 함수를 사용해서 변환하고 집어넣는게지요.

김상기(ioseph)님이 2003-06-07 11:58에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4752[질문]에러메세지가 이렇게 떠요
초보
2003-06-10
1796
4750[질문] alter 궁금합니다. [1]
대훈
2003-06-09
2186
4749에러 메세지... [1]
김현주
2003-06-07
1388
4748문자셋 문제.. [1]
장나영
2003-06-05
2453
4747[질문] PRIMARY KEY를 oid로... [3]
임유빈
2003-06-04
1405
4745QBE에서의 데이타 갱신 [1]
popipo2
2003-06-03
2173
4744카테고리에 속한 상품 수를 알아 내는 쿼리문...help me [1]
박기원
2003-06-03
2036
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다