Bonjour à tous,
Sous environnement C++ RadStudio 2009,
J'utilise le composant indy TidHTTP (10.2.5 avec RAD Studio 2009) combiné avec un TIdSSLIOHandlerSocketOpenSSL (+ ssleay32.dll +libeay32.dll ) afin d'effectuer un post sur un webservice acceptant les données en UTF-8.
Le webservice en question me retourne les données que j'ai mis à jour.
Mon problème vient des accents ( à é â, etc.. ) qui sont remplacés par leur équivalent sans accents (a e a, etc..).
code exemple :
le 'é' de 'éric' ne passe pas : j' obtiens 'eric'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 AnsiString url_de_mon_webservice="https://toto.com/webservice/"; TStringStream * Response; TIdMultiPartFormDataStream *MultiPartFormDataStream = new TIdMultiPartFormDataStream(); MultiPartFormDataStream->AddFormField("nom", "dupont"); MultiPartFormDataStream->AddFormField("prenom", "éric"); MultiPartFormDataStream->Position = 0; IdHTTP->Request->Username= login; IdHTTP->Request->Password= password; IdHTTP->Post(url_de_mon_webservice, MultiPartFormDataStream,Response); delete MultiPartFormDataStream;
paramétrage de mon composant TidHttp
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 object IdHTTP: TIdHTTP IOHandler = IdSSLIOHandlerSocketOpenSSL AllowCookies = True HandleRedirects = True ProxyParams.BasicAuthentication = False ProxyParams.ProxyPort = 0 Request.Connection = 'Keep-Alive' Request.ContentEncoding = 'UTF-8' Request.ContentLength = -1 Request.ContentType = 'application/x-www-form-urlencoded' Request.Accept = 'text/html, */* ' Request.AcceptCharSet = 'UTF-8' Request.AcceptEncoding = 'UTF-8' Request.BasicAuthentication = False Request.UserAgent = 'Mozilla/4.0 (compatible; MSIE 6.0;' HTTPOptions = [hoForceEncodeParams] Left = 560 Top = 200 end
Je voulais savoir si quelqu'un à déjà eu un résultat positif avec le post accents de idHttp->Post() sur une version préalable de C++ Builder ?
Partager