Originariamente inviato da Ceras
purtroppo il problema c'è anche se la query non la ricavo dalla textarea, cioè se faccio:
String query = "insert into PASSI (testo_originale) values ('πάντες ἄνθρωποι τοῦ').
Non solo, ho il problema anche se uso i caratteri di escape.
A me sembra che il problema sia a livello di jdbc, ma non so come risolverlo...
Sei sicuro che il DB abbia il giusto formato di encoding ?
CHe versione di JDK usi ?
Che versione e che driver jdbc usi ?
Per completezza ho fatto una prova, con un DB postgresql e la sua versione jdbc 8.3 e funziona alla perfezione. Il codice che ho usato è questo:
codice:
try {
Class.forName("org.postgresql.Driver");
Connection c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/db", "user", "password");
try {
Statement s = c.createStatement();
s.execute("INSERT INTO tabella VALUES ('πάντες ἄνθρωποι τοῦ')");
} finally {
c.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
e nella tabella la stringa si vede perfettamente.
Il db ha formato UTF-8.