bonjour,
j'utilisais les composant ICS pour POSTer une requête http, ça marche bien. mais j'ai voulu utiliser le composant natif de xe8:TNetHTTPClient
et la j'arrive pas a envoyer les accents
voici mon code:
j'ai mis
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 var NetHTTPClient : TNetHTTPClient; parametres : Tstringlist; begin parametres := tstringlist.Create; NetHTTPClient := TNetHTTPClient.Create(nil); parametres .Add('nom_logiciel='+UTF8Encode('éè')); parametres .Add('emplacement='+EncodeURIComponent('éè') ); parametres .Add('version='+ 'éè'); NetHTTPClient.ContentType := 'application/x-www-form-urlencoded'; NetHTTPClient.AcceptEncoding := 'UTF-8'; NetHTTPClient.post('http://metaclients.xxx.fr/xxx',parametres,nil, TEncoding.UTF8).ContentAsString(tencoding.UTF8); parametres .Free; NetHTTPClient.Free; end;
pour tester si ça changeait quelque chose...mais non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UTF8Encode('éè') EncodeURIComponent('éè')
j'ai essayé aussi
pareil, dans ma base mysql j'ai éé au lieu de éè
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 var NetHTTPClient : TNetHTTPClient; ss: tstringstream; Data : AnsiString; begin NetHTTPClient := TNetHTTPClient.Create(nil); Data := 'nom_logiciel='+UTF8Encode('éè') +'&' + 'emplacement='+EncodeURIComponent('éè') +'&' + 'version='+ 'éè'; ss := tstringstream.Create(Data, tencoding.UTF8); NetHTTPClient.ContentType := 'application/x-www-form-urlencoded'; NetHTTPClient.AcceptEncoding := 'UTF-8'; NetHTTPClient.post('http://metaclients.xxx.fr/xxx',ss).ContentAsString(tencoding.UTF8); NetHTTPClient.Free; ss.Free; end;
une idée ?
merci
exyacc
Partager