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 4089 게시물 읽기
No. 4089
[중요] 7.2의 버그를 발견했습니다.
작성자
어떤생각
작성일
2002-03-19 15:19
조회수
1,291

제가 위에 쓴 글을 읽으셨으면 제가 처해 있는 상황은 아실테고...

 

그걸 해결하려고 이것저것 해보다가 드디어 근본적인 문제를 발견했습니다.

이건 7.2의 버그인 듯 하군요.

 

일단 위에서 문제는 한글이 한글자가 깨진 데서 비롯된 것입니다.

그런데 그게 알고 봤더니 깨진것이 아니군요.

 

7.1 버전에서는

create table test (name text);

insert test (name) VALUES ('어떻게');

insert test (name) VALUES ('어덯게');

 

하면 모두 데이타가 들어갑니다.

하지만 '덯' 이라는 글자는 실제로 사용되는 글자가 아닙니다.

즉 예전에 한글폰트에서 완성형과 조합형을 기억하실 것입니다. 그중 완성형에는 실제사용되는 2000개 좀 못 되는 글자만 사용했었죠. 하지만 조합형은 실제 사용되던지 사용되지 않던지간에 모든 조합가능한 글자가 모두 가능합니다. 이건 결국 마이크로소프트에서 확장 완성형이라는 요상한 방법으로 결국 모두 사용가능하게 했던 것으로 기억됩니다.

 

위의 '덯' 이란 글자가 그중 하나입니다. 즉 실제로는 사용되지 않는 글자이지만 보시다시피 쓰고 읽을 수 있죠.

 

이게 7.2가 되면서 문제가 심각해 졌습니다.

 

즉 7.2 에서 위의 SQL 문을 실행하면

create table test (name text);

insert test (name) VALUES ('어떻게');

insert test (name) VALUES ('어덯게');

 

'어떻게' 는 정상적으로 insert 되지만

'어덯게' 는 다음과 같은 에러메세지를 받게 됩니다.

Invalid EUC_KR character sequence found (0x8946)

 

즉 아예 DB 에 넣지를 못하게 하는 겁니다.

그러니까 7.1 을 dump 해서 7.2 로 restore 하면 이런 사용하지 않는 글자가 있을 경우 restore 가 되지 않는 것입니다.

 

이 문제의 심각성은 단순하게 7.1 의 데이타를 7.2 로 옮길 수 없다는 것이 아닙니다.

만일 게시판을 postgres 와 연동할 경우 누군가 글자를 치다가 '어덯게' 라고 치면 저장이 안되고 오류가 발생하는 것이지요.

그렇다고 저장할 때마다 맞춤법 검사를 할 수는 없지 않겠습니까? ^^

이런 글자는 많습니다. 찾아보니까 원래는 '쫓아옵니다' 인데 '쫒아옵니다'라고 쓰신 분이 계시군요. 여기서 '쫒'도 입력이 안되는 글자입니다.

 

이 문제가 해결되지 않으면 실제 사용은 좀 어렵지 않을까요?

 

* 추신 : 참 신기하게도 '덯' 같이 사용하지 않는 글자는 오류가 나면서 그냥 'ㄱ' 이런건 잘 저장되더군요. 어떻게 이럴 수 있을까요? ^^

 

*참고로 7.1에서도 약간 이상한 것은 있습니다. 비록 7.1에서 입력된다고 하더라도 사실 정상적으로 입력된 것은 아니라는 것입니다. 즉, 입력도 되고, select 하면 정상적으로 나타나기도 하고, 아무 문제도 없는 듯이 보이지만...

이것을 dump 하면 문제를 알 수 있습니다.

즉 dump 한 파일을 보면

 

COPY "test" FROM stdin;

어떻게

어~IF게

\.

 

이렇게 나타납니다. 즉 '덯' 이란 글자는 실제로 dump 하면 이상한 기호로 저장되는 것이지요. 하지만 사용상에는 문제가 없습니다. 왜냐하면 이렇게 dump 한것을 다시 restore하면 제대로 '어덯게' 으로 나타나거든요.

 

그런데 '쫒아옵니다.' 는 dump 해도 '쫒아옵니다' 로 나타납니다.

흠... 이래저래 헷갈리는군요. ^^

[Top]
No.
제목
작성자
작성일
조회
4094기본키와 외부키의 데이타를 수정하는 방법이여..
haircody
2002-03-20
1157
4093도와 주세여.. [1]
초짜
2002-03-19
1012
4091참고 ::: 7.2 설치후 버그 발견
박정영
2002-03-19
1093
4092┕>Re: 나도 발견이요 [2]
이승현
2002-03-19 15:56:17
1154
4100 ┕>Re: Re: translate 함수는 ....
김상기
2002-03-22 23:50:00
1361
40887.1에서 7.2로 데이타 restore중 오류문제...
어떤생각
2002-03-19
1093
4089┕>[중요] 7.2의 버그를 발견했습니다.
어떤생각
2002-03-19 15:19:41
1291
4087left outer join 에 관하여..
이상학
2002-03-19
1241
4084데몬이 안살아요 살려주세요...ㅠ.ㅠ [1]
초보자
2002-03-18
1139
4083포스트그리설치에러 고수님 부탁합니다 [1]
이은민
2002-03-16
1144
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다