2013-05-13 4 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 Laptop & Samsung Laptop». Думаю, вам придется использовать escape-символ. Может быть, '' '. – DeadlyJesus

+4

И какая ошибка это бросает ? Некоторый код может помочь ... – home

ответ

1

Обычно он не должен вызывать ошибки при загрузке. Если на самом деле это вызывает какую-либо ошибку из-за особого характера, это только по причине, упомянутой Крейгом Рингер. Вы можете избежать этого, создавая индивидуальные функции, как следующие:

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

Но вы можете столкнуться с проблемой, чтобы вытащить эти специальные символы из базы данных и использовать его. Если вы хотите показать эти специальные символы в браузере, вам нужно использовать метод escaping для специального символа. Подробная процедура эвакуации специального символа - here.

2

Это странно псевдо CSV. Обычно запись, содержащая двойные кавычки, удаляет их или завертывает их в другой набор котировок вокруг всей записи.

Возможно, вам потребуется переопределить символ кавычки в команде copy, поэтому Pg не интерпретирует двойные кавычки как цитирование CSV.

Смежные вопросы