bonjour à tous,
j'ai développé une appli client / serveur qui réalise une session de login utilisateur.
Le serveur recoit une commande HTTP get avec Login et pwd en params et renvoit en paramètres les autres paramètres de l'utilisateur (nom, prénom, adresse, tel,...)
tout fonctionne bien tant que je n'utilise pas de caractères spéciaux...et dans notre belle langue il y en a quelques uns !
donc en clair, un nom enregistré coté serveur (mongoDB) "tête à toto" est reçu "t�te � toto" sur l'appli client....
voici quelques extracts de la partie serveur (servlet):
les logs tomcat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 response.setContentType("text/html; charset=UTF-8"); response.addHeader("status","Login Success"); response.addHeader("adresse", u.getAdresse()); response.addHeader("email",u.getEmail()); response.addHeader("id",u.getId()); response.addHeader("telephone",u.getTelephone()); response.addHeader("mobile",u.getMobile()); response.addHeader("nom",u.getNom()); response.addHeader("password",u.getPassword()); response.addHeader("prenom",u.getPrenom()); log.debug("response encoding: "+response.getCharacterEncoding()); log.debug(response.toString());
donc déjà je vois un truc bizarre...je force la réponse à un encodage en UTF-8 (j'avoue j'ai essayé de tout forcer en ISO-8859-1 aussi mais le résultat est le même) et la commande response.getCharacterEncoding() me renvoit ISO-8859-1....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 2016-05-18 23:06:51 DEBUG User:83 - User: id:5721ad8019894f2a156e0ae5 nom:Toto prenom:La tête à email:toto@gmail.com password:tt adresse:Californiatelephone:3856988Mobile:null 2016-05-18 23:06:51 DEBUG login:88 - response encoding: ISO-8859-1
après coté config de mon serveur tomcat, j'ai joué avec 1 paramètres qui est de changer le JAVA_OPTS à
là aussi j'ai tenté de passer à ISO-8859-1 mais le résultat est le même....
Code : Sélectionner tout - Visualiser dans une fenêtre à part JAVA_OPTS=-Djavax.servlet.request.encoding=UTF-8
coté appli (android) je reçois dans tous les cas le même résultat qui est :
et m'affiche sur l'activité "t�te � toto"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 05-18 23:38:20.448: D/JRE(5394): The response is: 200 05-18 23:38:20.448: D/JRE(5394): Login success 05-18 23:38:20.448: D/JRE(5394): Email:toto@gmail.com Pwd:tt Nom:Toto Prenom:La t?te ? Adresse:California Tel:3856988
si vous avez ne idée pour me débloquer je suis preneur...
merci à vous,
Tiamat.
Partager