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 10239 게시물 읽기
No. 10239
copy from encoding 질문
작성자
박종호(kim010c)
작성일
2021-03-26 10:09
조회수
965

postgre 환경은 server, client_encoding 모두 utf-8, 버전은 12.6입니다.


copy from을 이용하여 EUC_KR로 되어있는 BCP 파일을 업로드하려고하는데


과정 중 아래와 같은 오류가 발생 됩니다

업로드 하려는 데이터는 깨진데이터가 포함되어있습니다

깨진 데이터가 euc-kr 코드표에 없어서 발생되는 오류 같은데 강제로 입력하는 방법은 없는지 궁금합니다.


ERROR:  invalid byte sequence for encoding "EUC_KR": 0xac 0x82


EUC_KR이외에도 UTF-8로 컨버전해서 업로드 했을경우에도 깨진글자 때문에 오류가 발생됩니다.

ERROR:  invalid byte sequence for encoding "UTF8": 0xd0 0x7f


기본 데이터 클렝징말고 다른 방법이 있을까요? 

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

PostgreSQL은 인코딩 문자 세트에 없는 문자는 입력되지 않습니다. 

utf8 을 쓰겠다고 했으면,  utf8 인코딩으로 처리 될 수 없는 문자는 어떤 방법으로도 입력이 불가능합니다. 


그 파일의 인코딩을 euc-kr 이라고 생각지 말고, uhc라고 간주하면, 좀더 유연하게 들어갑니다. 


set client_encoding to uhc;

\copy table from 'filename'


이런형태가 되겠죠. 


이럼에도 불구하고, 그 파일에 잘못된 한글이 있거나, uhc 인코딩에 없는 글자가 있다면, 

이 부분은 iconv 명령을 이용해서 해당 부분을 찾아서 직접 하나 하나 수정해서 사용하든가, 

-c 옵션을 이용해서 아에 무시를 해버리든가, 

적당히 전환 전력을 짜야합니다. 


 

김상기(ioseph)님이 2021-03-26 18:20에 작성한 댓글입니다.
이 댓글은 2021-03-26 18:23에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
10242template0의 age 오버 [9]
종관
2021-04-12
1180
10241세션 wait_event에 subtranscontrollock 이벤트는 어떤 상황일때 발생하는가요? [3]
전석
2021-04-09
832
10240MSSQL -> Postgre 쿼리 변환 질문입니다 [1]
명수
2021-04-09
774
10239copy from encoding 질문 [1]
박종호
2021-03-26
965
10238postgreSQL 버전별 속도차이 [2]
조민호
2021-03-23
1092
10236copy from 명령어 관련 질문 [1]
cella
2021-03-18
834
10235파티션테이블 관련 문의 [1]
test
2021-03-15
868
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.012초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다