Encodage JSON et Webservice
Bonjour à tous,
Voilà plusieurs jours que je galère à résoudre un problème d'encodage d'un JSON envoyé à une application tournant sous une page web.
Contexte : Une application Web envoie un JSON pour consommer un web service développé en Windev. Un Web service renvoie un message au format JSON à l'application web.
A l'origine le WS à été développé en WB20 et ne posait aucune problème à la réception des messages.
Le problème se trouve au niveau du message renvoyé par le web service, celui -ci est renvoyé avec des caractères non interprétés
Citation:
Message renvoy� par le WS
le message de retour est en unicode exemple("\u00e0" pour le à )
Dans l'existant le message de retour est retravaillé comme ceci
Code:
1 2 3 4 5
|
sMessage = Remplace(sMessage, "\u00e9", "é")
sMessage = Remplace(sMessage, "\u00e8", "è")
sMessage = Remplace(sMessage, "\u00ea", "ê")
sMessage = Remplace(sMessage, "\u00e0", "à") |
Afin de traduire les caractères spéciaux puis renvoyé à l'application web.
Je n'arrive pas à renvoyé les caractères spéciaux.
Lorsque je renvoie la chaine en HTML avec la fonction texteVersHTML, l'application web me retourne ce message d'erreur
Citation:
Unexpected character ('&' (code 38)): was expecting double-quote to start field name at [line:1, column:4]
L'application web est encodé en UTF-8 et utilise SalesForce.
Citation:
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
Voici le code qui renvoi le message
Code:
1 2 3 4 5
| Sérialise(gStr_Reponse,sReponse,psdJSON)
//Affiche le message avec les caractères accentués
sReponse = PG_Transcondification(sReponse)
RENVOYER sReponse |
J'ai mis sur le serveur un log pour capter les réponses et ces dernières sont correctement formatés.
Toutes les idées sont bien venues pour m'aider à résoudre ce problème.
Merci a tous pour vos idées et votre aide.