Bonjour,
Voici mon problème, en gros j'essaye de faire un système de synchronisation personnalisé en passant par des requêtes HTTP pour un logiciel multilingue "non Unicode" (tout est géré en ANSI par WinDev), et j'ai :
1. Un server ASP.Net local qui me permet de voir ce qui est reçu
2. Une application déjà existante WinDev qui envoie des requêtes, où tout fonctionnait bien jusqu'à récemment (la programmation de l'envoi des requêtes n'a pas changé depuis, j'avais simplement mis à jour WinDev et ça semble le faire depuis)
La requête est comme suit :
SAI_Valeur est un champ classique (Unicode non activé) et je mets la valeur de test "héhé" dedans pour tester la transmission des caractères accentués.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ResLancement est un booléen = HTTPRequête(sSite+"/Default.aspx","application","",ChaîneVersUTF8("valeur="+SAI_Valeur))//sToBeSent est une chaîne = SI ResLancement = Vrai ALORS Info(HTTPDonneRésultat()) FIN
Côté serveur, voici ce que je reçois avec mon application qui était déjà existante:
Alors au début je me suis dit, c'est peut être la faute d'une configuration de ASP.Net, j'ai donc recréé un projet ASP.Net quasi vide avec une instruction du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Request.Form["valeur"] "hΘhΘ" string
Et malheureusement pour moi, même résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 protected void Page_Load(object sender, EventArgs e) { if (Request.Form["valeur"] == null) h2Instance.InnerText = "Rien n'a été reçu."; else h2Instance.InnerText = Request.Form["valeur"]; }
Ensuite je recréé une application Windev VIDE avec seulement un champ et un bouton qui exécute le traitement donné en premier... et ça marche parfaitement, résultat reçu du côté serveur:
Bref c'est très simple, le code est le même, il n'y a aucun paramètre spécifique à fournir à Windev pour la transmission de données accentuées (UTF8/Unicode) dans le fichier d'aide.Request.Form["valeur"] "héhé" string
Si j'enlève ChaîneVersUTF8() de HttpRequête cela donne ceci au niveau du serveur ASP.Net (ce qui semble normal) :
À moins que je n'ai pas compris quelque chose (à vous de me le dire peut être ai-je mal compris un paramètre d'encodage quelconque, mais j'en doute), j'ai deux projets (dont la méthode d'encodage n'est pas définissable au niveau de WinDev) qui ont le même code mais qui ne fonctionnent pas de la même manière...Request.Form["valeur"] "h�h�" string
Maintenant je ne peux plus mettre à jour mon application tant que je n'ai pas trouvé la solution, car tout mon code même ancien ne fonctionne plus et renvoie des icônes du genre "Θ" à mon serveur ASP.Net de gestion de licences (entre autres)...
Mon seul doute actuellement c'est qu'une des dernières mises à jour de WinDev a créé ce problème? Car je n'ai vraiment rien trouvé du côté configuration de WinDev... et c'est le seul qui visiblement pose problème!
Merci d'avance pour votre aide si vous avez des suggestions elles sont les bienvenues, je ne vois plus quoi faire...![]()
Partager