Bonjour à tous,
Mon programme WebBroker plante dès qu'un paramètre (post ou get) contient un accent avec le message suivant :
<< Aucun mappage pour le caractère Unicode n'existe dans la page de code multi-octet cible >>
J'ai réalisé un programme d'exemple simple pour reproduire la chose à chaque fois :
La page html est volontairement PAS UTF-8, ce qui ne devrait pas être un problè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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 procedure TWebModule1.WebModuleBeforeDispatch(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var I : Integer; S : String; begin Handled := True; S := '<html>' + '<body>' + '<form action="/cgi-bin/cgi_test.exe" method="get">' + 'mode GET : <input type="text" name="get_variable" value="">' + '<input type="submit" name="envoyerBtn" value="Envoyer">' + '</form>' + '<form action="/cgi-bin/cgi_test.exe" method="post">' + 'mode POST : <input type="text" name="post_variable" value="">' + '<input type="submit" name="envoyerBtn" value="Envoyer">' + '</form>'; // restituer les paramètres GET For I := 0 to Request.QueryFields.Count-1 do S := S + 'GET: ' + Request.QueryFields[I] + '<br>'; // restituer les paramètres POST For I := 0 to Request.ContentFields.Count-1 do S := S + 'POST: ' + Request.ContentFields[I] + '<br>'; S := S + '</body>' + '</html>'; Response.Content := S; Response.ContentType := 'text/html'; end;
Le problème existe sur Delphi XE7 ou Delphi 10.2 (Tokyo)
Quelqu'un aurait-il une idée de l'origine de ce problème svp ?
Merci.
Serge
Partager