2013-12-19 28 views
0

我想導入CSV文件到Postgres數據庫(版本9.3,與數據庫編碼設置爲UTF8)。使用下面的命令,我得到的錯誤(下文)windows右單引號錯誤當從csv文件複製到postgres的數據

copy mytable from 'C:/candidate_analyze.csv' delimiter ',' csv; 

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

研究後,我看到這個錯誤相關的Windows 1252或右單引號代替省略號的Windows版本。

在csv文件中有一個文本字段(稱爲「orig_text」),其中包含正確的單引號標記。

這個複製功能是將被自動化的東西,所以我不能去那裏,手動做一個搜索和每次替換窗口右引號。

有關解決此問題的任何想法?

任何幫助將不勝感激。先謝謝你。

回答

0

COPY command有一個ENCODING選項:

ENCODING
指定文件在encoding_name編碼。如果省略此選項,則使用當前的客戶端編碼。

所以,如果你的文件真的窗口1252被編碼,那麼你可以說:

copy mytable from 'C:/candidate_analyze.csv' delimiter ',' encoding 'windows-1252' csv; 
+0

它的工作!非常感謝你mu太短。 – user3067901

相關問題