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 6267 게시물 읽기
No. 6267
유니코드 UCS-2 범위밖에 지원 못하는군요.
작성자
송효진
작성일
2005-08-14 23:36ⓒ
2005-08-14 23:37ⓜ
조회수
2,394

WARNING : pg_query() [function.pg-query]:

 

Query failed: ERROR: Unicode characters greater than

 

or equal to 0x10000 are not supported :

 

 

UTF-8 로 표현하길래 되는줄 알았는데...

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

그런 것 같더군요. 내부적으로 ucb2로 변환하는 것 같았습니다. 굳이 그럴 필요가 있을지 의문인데요. 이럴 것이면 서버 인코딩 옵션을 utf-8과 ucb2로 선택할 수 있도록 해서 한국, 일본, 중국의 경우에는 ucb2를 사용하게 했었으면하는 생각이 드네요.

국제화 담당하시는 분이 일본분이신데... 무슨 이유가 있겠죠?

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

저희도 PHP에서 작업중 위와 동일한 에러를 만났습니다....

 

어떻게 대처 해야 하는 지요....

 

서버 postgres 7.4.6 -- unicode 로 생성해서 사용중....

 

도움을 부탁드립니다.   ^-^  감사...

롱다리님이 2005-08-16 22:26에 작성한 댓글입니다. Edit

$body = preg_replace_callback('/./u', 'escapeucs4', $body);

 

body 는 utf8 이고요.

 

4bytes 부터 ucs4 로 판단하고, & # 40323;(붙여서) 요런식으로 ucs4 를 10진수문자열로 바꾸세요.

utf8 -> ucs 는 계산만으로 변환이 되고, 구글링 하면 금방 나옵니다.

 

맘에들진 않지만 한글자 한글자 판단할 수 밖에요.

송효진님이 2005-08-17 01:15에 작성한 댓글입니다. Edit

잠깐 소스를 봤는데 UTF-8을 UCS-2로 변환해서 처리하는 부분이 없는 것 같은데 굳이 이런 에러를 내는 이유를 모르겠네요.

Java 처럼 모든 문자를 내부적으로 unicode로 처리하는 것도 아니고 서버 인코딩된 그 문자를 그대로 내부에서도 쓰고 있거든요?

그리고 utf-8과 다른 문자 인코딩간의 변환 과정에서도 UCS-2는 사용되지 않습니다.

지금 문제가 되는 오류도 특별히 UCS-2로 변환하는 과정에서 어쩔 수 없어서 내는 오류가 아니라 유용성 검사를 하는 과정에서 발생 시키네요.

제 생각에는 UCS-4에 해당하는 언어의 고유 인코딩을 지원하지 않고 있기 때문에 이런 오류 메세지를 출력하는 것 같습니다. 클라이언트와 서버 양쪽에서 순전히 unicode로만 사용한다면 특별히 이런 검사를 할 필요는 없어 보이네요.

그런데 궁금한 것이.. UCS-4 영역을 쓸 일이 있나요? 제가 요즘 동향을 전혀 몰라서 그러는데 UCS-4 영역에 한글이나 한자가 추가 되었나요? MS나 Java에서도 UCS-2만 쓰고 있는 것으로 알고 있었는데 아닌가요? 이거 5,6년전 지식으로 먹고 사는 것도 한계에 다다른 듯...

박성철(gyumee)님이 2005-08-17 11:52에 작성한 댓글입니다.
이 댓글은 2005-08-17 13:36에 마지막으로 수정되었습니다.

8.1beta부터 지원한다는 군요

 

http://developer.postgresql.org/docs/postgres/release.html#RELEASE-8-1

  • Add support for 3 and 4-byte UTF8 characters (John Hansen)

    Previously only one and two-byte UTF8 characters were supported. This is particularly important for support for some Chinese characters.

  •  

    doo님이 2005-08-27 14:28에 작성한 댓글입니다. Edit
    [Top]
    No.
    제목
    작성자
    작성일
    조회
    6270[삭제됨]UNICODE DB에서 한글필드 Unique Index [5]
    김남일
    2005-08-18
    2699
    6269자바에서 postgresql 테이블의 변경(insert,update) 모니터 [3]
    장재혁
    2005-08-18
    2205
    6268pgsql에서 Text형 컬럼에 세이노 컬럼을 insert해보신분? [10]
    이현순
    2005-08-17
    3312
    6267유니코드 UCS-2 범위밖에 지원 못하는군요. [5]
    송효진
    2005-08-14
    2394
    6262left join과 서브쿼리의 쿼리플랜이 이렇게 달라질 수도 있네요 [8]
    신기배
    2005-08-13
    3075
    6261File에 있는 gnuboard를 윈도우즈에서도 설치가능합니까?
    박병호
    2005-08-11
    1922
    6260enable_seqscan을 false로 설정하고 쓰시는 분 계신가요? [4]
    박성철
    2005-08-11
    3326
    Valid XHTML 1.0!
    All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
    작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다