Witam :)
po zmianie indy pojawił mi się problem z kodowaniem,
Program jest serwerem UDP, otrzymuje od klienta ciąg znaków i zapisuje je na dysku, gdy klient poprosi o te dane wczytuje je z dysku i przesyła... i tu pojawia się problem ponieważ zmienia się kodowanie i polskie znaki zamieniają się na krzaczki...
t
void __fastcall TForm1::IdUDPServer1UDPRead(TIdUDPListenerThread *AThread,
const TIdBytes AData, TIdSocketHandle *ABinding)
{
TStringList *lst = new TStringList();
if (AData.Length > 0)
{
lst->Text = BytesToString(AData); ///tutaj następuje pobranie danych
lst->SaveToFile("cos.txt");/// zapis
}
delete lst;
}
gdy klient poprosi wysyłam w ten sposób
lst->LoadFromFile("cos.txt");
IdUDPServer1->Send(ABinding->PeerIP,ABinding->PeerPort,lst);/// dane są dostarczone do klienta ale.... kodowanie się zmienia...
na wejściu od klienta podawane dane są w ASCII ,próbowałem dodać IndyTextEncoding_UTF8() itp nic nie pomaga... ktoś się z tym spotkał? czy może popełniam błąd...