Je suppose que vous construisez le SQL d'une manière comme
String sql = "Select Column from tab where column='" + StringParm + "'";
Ou quelque chose comme ça ? Si vous faites cela, vous êtes ouvert à toutes sortes d'exploits et vous verrez également un comportement comme vous le décrivez, où la chaîne résultante n'est plus valide en SQL. Vous devez d'abord échapper le paramètre fourni par l'utilisateur.
La meilleure solution est d'utiliser PreparedStatements, donc vous le faites
Statement stmt = conn.prepareStatement("Select Column from tab where column=?");
stmt.setString(1,StringParam);
Je ne vois cependant aucun moyen rapide de résoudre votre problème sans modifier le code Java, sauf peut-être échapper/désinfecter l'entrée avant qu'elle n'atteigne votre code (par exemple, javascript si vous êtes une application Web)