Thread View: pl.comp.lang.delphi
6 messages
6 total messages
Started by Karol
Sun, 18 Feb 2018 19:26
DelphiXE2 IDHTTP.Get i polskie znaki
Author: Karol
Date: Sun, 18 Feb 2018 19:26
Date: Sun, 18 Feb 2018 19:26
89 lines
4138 bytes
4138 bytes
Jak prawidłowo wysłać polskie znaki do skryptu PHP
IdHTTP1.Request.ContentEncoding := TEncoding.Default.EncodingName;
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT
5.0; pl-PL; rv:1.7.6) Gecko/20050226 Firefox/1.0.1';
IdHTTP1.Request.ContentType := 'text/html';
IdHTTP1.Request.CharSet:=TEncoding.GetEncoding(TEncoding.Default.CodePage).EncodingName;
ms := TMemoryStream.Create;
try
cialo1.First;
while not cialo1.Eof do
begin
ms.clear;
urls:=
'?NAZWA='+cialo1.FieldByName('nazwa').Text+
'&NIP='+cialo1.FieldByName('nip').Text+.........
urls:=URLEncode(urls,true);
try
IdHTTP1.Get('XXXXXXXXXXXXXXXXXXXX/zapiszdanekontrahenta.php'+urls, ms);
ShowMessage(PAnsiChar(ms.Memory));
except
On E:Exception do ShowMessage(urls);
end;
Exit;
Application.ProcessMessages;
cialo1.Next;
end;
finally
ms.free;
end;
end;
W skrypcie PHP mam tak ustawione zmienne
[_GET] => Array
(
[NAZWA] => W?odzimierz <--- Chodzi o ta zmienną
[NIP] => 9999999999
)
....
[_SERVER] => Array
(
[USER] => ...
[HOME] => ...
[FCGI_ROLE] => RESPONDER
[UNIQUE_ID] => WonSGuFkqBmMVS7WdQP-2QAAAVY
[proxy-nokeepalive] => 1
[HTTP_HOST] => XXXXXXX.pl
[HTTP_X_REAL_IP] => 99.99.999.99
[HTTP_X_FORWARDED_FOR] => 99.99.99.999
[HTTP_X_ACCEL_INTERNAL] => /internal-nginx-static-location
[HTTP_CONNECTION] => close
[HTTP_CONTENT_ENCODING] => 1250 (ANSI - Europa ?rodkowa)
[CONTENT_TYPE] => text/html; charset="1250 (ANSI - Europa
?rodkowa)"
[HTTP_ACCEPT] => text/html, */*
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT
5.0; pl-PL; rv:1.7.6) Gecko/20050226 Firefox/1.0.1
[PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
[SERVER_SIGNATURE] =>
[SERVER_SOFTWARE] => Apache
[SERVER_NAME] => XXXXXXX.pl
[SERVER_ADDR] => 99.999.999.99
[SERVER_PORT] => 80
[REMOTE_ADDR] => 127.0.0.1
[DOCUMENT_ROOT] => ...
[REQUEST_SCHEME] => http
[CONTEXT_PREFIX] =>
[CONTEXT_DOCUMENT_ROOT] => .../XXXXXXX.pl
[SERVER_ADMIN] => info@XXXXXXX.pl
[SCRIPT_FILENAME] => .../zapiszdanekontrahenta.php
[REMOTE_PORT] => 38016
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.0
[REQUEST_METHOD] => GETXXX
[REQUEST_URI] =>XXX
[SCRIPT_NAME] => /zapiszdanekontrahenta.php
[PHP_SELF] => /zapiszdanekontrahenta.php
[REQUEST_TIME_FLOAT] => 1518981658.0794
[REQUEST_TIME] => 1518981658
)
...
Re: DelphiXE2 IDHTTP.Get i polskie znaki
Author: Roman Tyczka
Date: Sun, 18 Feb 2018 20:55
Date: Sun, 18 Feb 2018 20:55
9 lines
986 bytes
986 bytes
On Sun, 18 Feb 2018 20:26:23 +0100, Karol wrote: > Jak prawidłowo wysłać polskie znaki do skryptu PHP Zakodować do UTF-8 i ustawić w nagłówkach UTF-8. -- pozdrawiam Roman Tyczka
Re: DelphiXE2 IDHTTP.Get i polskie znaki
Author: konsul41
Date: Mon, 19 Feb 2018 11:27
Date: Mon, 19 Feb 2018 11:27
10 lines
1248 bytes
1248 bytes
W dniu 18-02-2018 o 21:55, Roman Tyczka pisze: > On Sun, 18 Feb 2018 20:26:23 +0100, Karol wrote: > >> Jak prawidłowo wysłać polskie znaki do skryptu PHP > > Zakodować do UTF-8. > A coś podpowiesz, ponieważ urls:=UTF8Encode(urls); nie działa.
Re: DelphiXE2 IDHTTP.Get i polskie znaki
Author: danielmarcinmazur2
Date: Mon, 19 Feb 2018 12:07
Date: Mon, 19 Feb 2018 12:07
1 lines
1444 bytes
1444 bytes
Spróbuj zapisać plik php jako UTF-8 i w IdHTTP1.Request.ContentEncoding wrzucić także UTF-8
Re: DelphiXE2 IDHTTP.Get i polskie znaki
Author: Roman Tyczka
Date: Mon, 19 Feb 2018 14:25
Date: Mon, 19 Feb 2018 14:25
19 lines
1437 bytes
1437 bytes
On Mon, 19 Feb 2018 12:27:57 +0100, konsul41@wp.pl wrote: >>> Jak prawidłowo wysłać polskie znaki do skryptu PHP >> >> Zakodować do UTF-8. >> > A coś podpowiesz, ponieważ > urls:=UTF8Encode(urls); > nie działa. Działa, tylko ... widzę, że nie wiesz o tym, że delphi dokonuje niejawnej konwersji stringa, gdy przypisujesz stringi o różnych stronach kodowych. W Twoim wypadku następuje podwójna konwersja: win1250 -> utf8 -> win1250. Żeby to zadziałało musisz zadeklarować zmienną jako typ UTF8String. -- pozdrawiam Roman Tyczka
Re: DelphiXE2 IDHTTP.Get i polskie znaki
Author: Karol
Date: Mon, 19 Feb 2018 17:22
Date: Mon, 19 Feb 2018 17:22
18 lines
1731 bytes
1731 bytes
W dniu 2018-02-19 o 15:25, Roman Tyczka pisze: > On Mon, 19 Feb 2018 12:27:57 +0100, konsul41@wp.pl wrote: > >>>> Jak prawidłowo wysłać polskie znaki do skryptu PHP >>> >>> Zakodować do UTF-8. >>> >> A coś podpowiesz, ponieważ >> urls:=UTF8Encode(urls); >> nie działa. > > Działa, tylko ... widzę, że nie wiesz o tym, że delphi dokonuje niejawnej > konwersji stringa, gdy przypisujesz stringi o różnych stronach kodowych. W > Twoim wypadku następuje podwójna konwersja: win1250 -> utf8 -> win1250. > > Żeby to zadziałało musisz zadeklarować zmienną jako typ UTF8String. > Zadziałało, dziękuję.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads