libcurl POST polskie znaki

plcharacters
2013-05-04 15:18
plcharacters
0

Witam, mam problem. Nie mam pojęcia jak wysłać formularz aby wysłały się polskie znaki. Chce wysłać np. taką treść: "ążłóćabc" i otrzymuje: "?????abc". Wysyłam tak:

curl_easy_setopt(myHandle, CURLOPT_USERAGENT, "Mozilla/4.0");
curl_easy_setopt(myHandle, CURLOPT_AUTOREFERER, 1);
curl_easy_setopt(myHandle, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(myHandle, CURLOPT_COOKIEFILE, "");

char *data="pole1=ążłóć&pole2=łóabc";

curl_easy_setopt(myHandle, CURLOPT_POSTFIELDS, data);

W jaki sposób wysłać polskie znaki? Trzeba w jakiś sposób za pomocą curl_easy_setopt() zaznaczyć, że chce korzystać z np. utf-8?

Pozostało 580 znaków

refreshh
2013-05-05 11:14
refreshh
0

refresh

Pozostało 580 znaków

2013-05-05 12:28

Rejestracja: 7 lat temu

Ostatnio: 6 lat temu

0

Pewnie coś w tym stylu:

curl_easy_setopt(myHandle, CURLOPT_ACCEPT_ENCODING, <string>)

Źródło: http://curl.haxx.se/dev/readme-encoding.html

edytowany 2x, ostatnio: gimbo_haxor_team, 2013-05-05 12:51

Pozostało 580 znaków

2013-05-05 12:36

Rejestracja: 14 lat temu

Ostatnio: 3 dni temu

Lokalizacja: Gorlice

0

Accept-Encoding nic nie da to tylko definiuje jaką oczekujesz odpowiedź dostać a nie co wysyłasz, nie znam się na curl ale trzeba jakoś ustawić header Content-Type np: Content-Type: text/html; charset=UTF-8 (oczywiście to przykład nagłówek Content-Type musi być taki jak faktycznie wysyłasz).


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 1x, ostatnio: kAzek, 2013-05-05 12:37

Pozostało 580 znaków

2013-05-05 12:50

Rejestracja: 7 lat temu

Ostatnio: 6 lat temu

0

W takim razie tak:

curl_setopt(myHandle, CURLOPT_HTTPHEADER, "Content-Type: text/html"));

oraz

curl_setopt(myHandle, CURLOPT_HTTPHEADER, "charsets: utf-8"));

albo tak:

curl_setopt(myHandle, CURLOPT_HTTPHEADER, "Content-Type: text/html; charset=UTF-8"));
edytowany 8x, ostatnio: gimbo_haxor_team, 2013-05-05 12:54

Pozostało 580 znaków

standardowo
2013-05-05 19:26
standardowo
0
curl_easy_setopt(myHandle, CURLOPT_HTTPHEADER, "Content-Type: text/html; charset=UTF-8");

Wyżej wymienione sposoby powodują crashowanie aplikacji.

przy CURLOPT_HTTPHEADER w parametrze powinieneś podać listę stworzoną funkcją curl_slist_append. To wszystko jest w dokumentacji. - _0x666_ 2013-05-06 09:17

Pozostało 580 znaków

2013-05-05 20:02

Rejestracja: 14 lat temu

Ostatnio: 3 dni temu

Lokalizacja: Gorlice

0

Raczej dla tego że nie czytasz tylko liczysz na gotowca napisałem o ustawieniu nagłówka Content-Type i wyraźnie zaznaczyłem że to przykład jeżeli wysyłasz POST prawdopodobnie nie Content-Type: text/html; charset=UTF-8 tylko zakładając że wysyłasz zwykły formularz : Content-Type: application/x-www-form-urlencoded; charset=utf-8 oczywiście jakie masz kodowanie znaków czy utf-8 czy inne nie mam pojęcia musisz podać właściwe w dodatku serwer je musi poprawnie obsłużyć więc sprawdź co jest wysyłane przez przeglądarkę i wyślij to samo (oczywiście jeżeli potrzeba to po uprzedniej konwersji).


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 2x, ostatnio: kAzek, 2013-05-05 20:08

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0