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
le message de retour est en unicode exemple("\u00e0" pour le à )Message renvoy� par le WS
Dans l'existant le message de retour est retravaillé comme ceci
Afin de traduire les caractères spéciaux puis renvoyé à l'application web.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sMessage = Remplace(sMessage, "\u00e9", "é") sMessage = Remplace(sMessage, "\u00e8", "è") sMessage = Remplace(sMessage, "\u00ea", "ê") sMessage = Remplace(sMessage, "\u00e0", "à")
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
L'application web est encodé en UTF-8 et utilise SalesForce.Unexpected character ('&' (code 38)): was expecting double-quote to start field name at [line:1, column:4]
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
Voici le code qui renvoi le message
J'ai mis sur le serveur un log pour capter les réponses et ces dernières sont correctement formatés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Partager