Dovolte mi to zkusit a pochopit...
Příchozí soubor obsahuje uvozovky. Chcete jej odeslat do databáze. Když to získáte zpět z databáze, stále chcete, aby tam ty uvozovky byly.
Máte tedy problém pouze do/z databáze?
Pokud ano, pak velice máte podezření, že děláte něco na příkaz:(Zabalím to do prohlášení o vyloučení odpovědnosti, aby nic netušící lidé neporozuměli a nestříhali/vkládali do svých vlastních aplikací.;))
Špatné – nedělejte to
String sql = "insert into foo (bar,baz) values(" +myValue1 + ", " + myValue2 + ")";
Statement stmt = connection.createStatement();
stmt.executeUpdate(sql);
Špatné – nedělejte to
Pokud ano, měli byste skutečně používat minimálně parametry připraveného příkazu. a) budete méně zranitelní vůči škodlivému odpadu, když smažete všechny své tabulky, a b) nebudete mít žádné problémy s únikem.
String sql = "insert into foo (bar, baz) values( ?, ? )";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, myValue1);
stmt.setString(2, myValue2);
stmt.executeUpdate();
Všimněte si, že je to také bezpečnější v případě věcí, jako jsou CLOB a specifika různých implementací databází (myslím na vás, Oracle>))
Pokud se jedná o nějaký jiný druh úniku, tedy do/z XML nebo do/z HTML, pak je to jiné, ale je to dobře zdokumentováno na celém webu.
Nebo poskytněte nějaký příklad kódu, pokud jsem úplně mimo.