Bonjour
J'ai une application qui enregistre des données dans un base mysql. Pour cela j'utilise un objet URLConnection. Je dois procéder ainsi car je ne peux pas utiliser de connexion distante sur ma base. Je passe donc par un script PHP auquel je passe mes données.
Mon problème : les caractères accentués ne sont pas enregistré correctement. J'ai des truc du genre é à . Je suppose donc que j'ai fait une erreur d'encodage quelque part.
une partie de mon code :
keys et vals sont deux tableaux de String passés à ma fonction. si je ne me trompe pas, Java utilise comme encodage celui du système.
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 String donnees = URLEncoder.encode("idapp", "UTF-8") + "=" + URLEncoder.encode("oamsreport", "UTF-8"); //préparation des paramètres int nb = keys.length; for(int i=0; i < nb; i++) { donnees += "&" + URLEncoder.encode(keys[i], "UTF-8") + "=" + URLEncoder.encode(vals[i], "UTF-8"); } // création de la connection URL url = new URL(addr); URLConnection conn = url.openConnection(); conn.setDoOutput(true); // envoi de la requête writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(donnees); writer.flush(); return conn.getInputStream();
Partager