2012-01-21 9 views
4

Postgresql에서 copy 명령을 사용하고 있고 탭이 분리되어있는 텍스트 파일에 데이터 라인이 있는데이 테이블을 db 테이블에 복사하려고합니다. "UTF8"를 인코딩 잘못된 바이트 순서 : ERROR :Postgresql에서 테이블에 데이터 복사

나는 오류가 말을 얻을 × 00 SQL 상태 : 22021 컨텍스트 : 복사 real_acct1, 라인

113038 그래서 나는 텍스트에서 라인 113038 갔다 파일을 복사하여 4 또는 5 인접 라인과 함께 새 텍스트 파일로 복사하고 새 데이터가 들어 왔는지 확인하십시오.

유용한 정보가 있습니까? 이것은 소포 데이터 속성 정보입니다.

+0

파일의 인코딩은 무엇입니까? 어떤 PostgreSQL 버전입니까? – filiprem

+0

@underdark 감사합니다. 이미 인코딩 문제가 발생했으며 파이썬으로 텍스트 파일을 사전 처리하여 해당 인코딩을 처리했습니다. 하지만이 링크가 당신이 지적한 링크와 다른 것처럼 보입니다. 오류를 던져서 다른 텍스트 파일에 넣는 한 줄을 얻으면 postgressql이 제대로로드되기 때문입니다. – Justin

+0

@filiprem 잘 모르겠습니다. 저의 의견을 저지하십시오. 스페인 n-accented와 일부 이상한 << 문자에 문제가있었습니다. 다른 텍스트 파일로 옮겨서 수동으로로드합니다. 그러나이 문제는 다른 것으로 보인다. 감사. – Justin

답변

2

실제로 문제는 문자 인코딩 중 하나입니다.

가장 쉬운 방법은 iconv를 통해 가져 오기 데이터를 실행하는 것입니다 (사용자가 유닉스 시스템을 사용한다고 가정).

iconv -f original_charset -t utf-8 originalfile> newfile

관련 문제