2016-12-29 3 views
0

텍스트 파일이 30GB입니다. 파일의 인코딩은 UTF8이지만 일부 Windows-1252 문자도 포함됩니다. 따라서 가져 오기를 시도하면 다음 오류가 발생합니다.혼합 인코딩 파일에서 PostgreSQL 테이블로 가져 오는 방법

ERROR: invalid byte sequence for encoding "UTF8": 0x9b 

어떻게 해결할 수 있습니까?

파일에 이미 UTF8 형식이 있습니다.이 파일에 대해 'file'명령을 실행하면 인코딩이 UTF8이라고합니다. UTF8이 아닌 바이트 시퀀스도 포함되어 있습니다.

0B012234 Basic study of <img src="/fulltext-image.asp?format=htmlnonpaginated&src=323K744431152658_html\233_2 basic study of img src fulltext image asp format htmlnonpaginated src 323k744431152658_html 233_2 1975  Semigroup Forum semigroup forum 04861B53  19555 
+0

Linux/Unix 또는 cygwin (windows)에서'iconv'를 사용하십시오. http://stackoverflow.com/questions/4867272/invalid-byte-sequence-for-encoding-utf8/4867690#4867690 –

+0

@DuduMarkovitz 파일에 이미 UTF8 형식이 있는데이 파일에 대해 'file'명령을 실행하면 인코딩은 UTF8입니다. UTF8이 아닌 바이트 시퀀스도 포함되어 있습니다. inconv 명령이 어떻게 도움이 될 수 있습니까? –

+0

혼합 인코딩으로 샘플을 넣을 수 있습니까? –

답변

0

문제는 백 슬래시 (\)에 의해 발생 :이 행에 대해 위에서 언급 한 오류를 제공 예를 들어 나는 후 \ 복사 명령을 실행할 때.
백 슬래시를 특수 문자로 처리하지 않는 CSV 형식을 사용합니다 (예 : -

\copy t from myfile.txt with csv quote E'\x1' delimiter E'\x2'