Originariamente inviato da andbin
Immagino che a livello di
String Java il testo sia correttamente codificato. Fin qui non ci dovrebbero essere problemi (perché se ce ne fossero, bisognerebbe vedere da dove/come arriva la stringa!).
Il secondo punto è come fai la query, cioè direttamente con JDBC? Sarebbe appropriato usare un PreparedStatement e assegnare la stringa in modo "parametrico", così almeno non si avrebbero "grane" nella composizione effettiva della query.
Il terzo punto è il DB ed è qui presumibilmente il nocciolo del problema. Qui entra in gioco il charset, che può essere associato in modo specifico ad un campo, alla tabella o più globalmente al database. Dipende quale è questo charset .... potrebbe essere il latin1 (ISO-8859-1), UTF-8 o altro. Qualunque sia deve permettere di codificare i caratteri greci.
Se il problema è questo .... Java non centra nulla, devi verificare la configurazione della base dati ed eventualmente modificarla.