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 :

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;
La page html est volontairement PAS UTF-8, ce qui ne devrait pas être un problème.
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