Salut à tous,

J'essaye actuellement la base de donnée derby (en embarqué) et je me retrouve avec un problème que je n'arrive pas à résoudre.
Lorsque j'insère du texte avec des accents dans la base, je me retrouve avec des "é" and co.
Cela ressemble fort à un problème d'encodage, cependant je ne comprends pas d'où il vient. On dirai que "l'insert" et le "select" ne se font pas avec le même encodage .

Voici un exemple de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
public class Test {
 
    public Test() {
    }
 
    public static void main(String ...args) {
        try {
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
            Connection connection = DriverManager.getConnection("jdbc:derby:bdtest;create=true");
            try {
                String query = "CREATE TABLE test ( label VARCHAR(100) NOT NULL )";
                Test.executeUpdate(connection, query);
                query = "INSERT INTO test (label) VALUES ('test 1 : é')";
                Test.executeUpdate(connection, query);
                query = "INSERT INTO test (label) VALUES ('test 2 : è')";
                Test.executeUpdate(connection, query);
                query = "INSERT INTO test (label) VALUES ('test 3 : à')";
                Test.executeUpdate(connection, query);
 
 
                query = "SELECT label FROM test";
                List<Object[]> rows = Test.executeQuery(connection, query);
                for(Object[] row : rows) {
                    System.out.println(row[0]);
                }
            } finally {
                connection.close();
            }
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
 
 
    public static List<Object[]> executeQuery(Connection connection, String pQuery)
    throws Exception {
        Statement stmt = null;
        ResultSet rSet = null;
        try {
            stmt = connection.createStatement();
            rSet = stmt.executeQuery(pQuery);
            ResultSetMetaData rsmd = rSet.getMetaData();
            int columnCount = rsmd.getColumnCount();
            List<Object[]> rList = new ArrayList<Object[]>();
            while(rSet.next()) {
                Object[] tmp = new Object[columnCount];
                for(int i = 0;i < columnCount;i++) {
                    tmp[i] = rSet.getObject(i + 1);
                }
                rList.add(tmp);
            }
            return rList;
        } finally {
            if(rSet != null) {
                rSet.close();
            }
            if(stmt != null) {
                stmt.close();
            }
        }
    }
 
    public static int executeUpdate(Connection connection, String query)
    throws Exception {
        Statement stmt = null;
        try {
            stmt = connection.createStatement();
            int rLineCount = stmt.executeUpdate(query);
            return rLineCount;
        } finally {
            if(stmt != null) {
                stmt.close();
            }
        }
    }
 
}
La sortie donne :
test 1 : é
test 2 : è
test 3 : Ã
Comment faire pour résoudre ce problème ?
J'avoue être un peu perdu .

Merci d'avance.