2013-05-13 76 views
2

我有一個JAVA上傳功能,用CSV文件將數據導入postgresql 9.2數據庫。目前的數據是:在數據庫中存儲特殊字符

ID, DESCRIPTION, PRICE, EOR 
1001, "Lenovo Laptop" 20% Discount @ Jackson's Street, 500$, EOR 
1002, "Samsung Laptop" 10% Discount @ Jackson's Street, 440.90$, EOR 

string description = line[1]; 

現在,當我試圖商店描述字段值到數據庫它拋出錯誤。無論如何,我可以將這些數據存儲到數據庫中,確切地說它是如何寫入CSV文件的?

+0

我不確定,但是這可能與Lenevo筆記本電腦和三星筆記本電腦周圍的'''有關,我想你必須使用轉義字符,也許'''。 – DeadlyJesus 2013-05-13 10:25:26

+4

哪個錯誤會拋出?有些代碼可能也有幫助... – home 2013-05-13 10:25:27

回答

1

通常它不應該在上傳過程中拋出任何錯誤。如果真的是由於特殊性而拋出任何錯誤,那只是Craig Ringer提到的原因。您可以通過創建自定義的功能像下面避免這種情況:

removeSpecialCharacter(String inputStr) { 
    inputStr = inputStr.replace('"', ''); 
} 

但你可能會面臨的問題,從數據庫中提取這個特殊字符和使用它。如果你想在瀏覽器中顯示這些特殊字符,你需要使用特殊字符的轉義方法。轉義特殊字符的詳細過程是here

2

這是奇怪的僞CSV。通常情況下,包含雙引號的記錄會將其轉義或將其包裝在整個記錄周圍的另一組引號中。

您可能需要覆蓋copy命令中的引號字符,以便Pg不會將雙引號解釋爲CSV引用。

相關問題