idHttp.Get i polskie znaki diakrytyczne

idHttp.Get i polskie znaki diakrytyczne
DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Witam. Próbuje pobrać za pomocą **IdHttp.get **plik tekstowy którego zawartość wygląda tak:

Kopiuj
ę€óąśłżźćń

Robię to w następujący sposób:

Kopiuj
Var
 Src : String;
Begin
 Src := Idhttp.Get('plik.txt');
 Memo.text := Src;
end;

Problem w tym że w Memo dostaję coś takiego:

Kopiuj
Äâ¬Ã³ÄÅÅżźÄÅ

Próbowałem konwersji: UTF8Decode, UTF8Encode. Niestety brak rezultatów. Przy UTF8Decode dostaje:

Kopiuj
�?�?�A3�?A?A?A1Ao�?A?

Czy ktoś już z tym walczył ?. Można zna rozwiązanie, ma jakikolwiek pomysł żeby się z tym uporać. Może w Indy, trzeba ustawić CharSet?

Windows 7(64bit), Rad Studio 10.1 Berlin Starter.

Edit:
Zauważyłem, że Chrome również pobiera:

Kopiuj
ę€óąśłżźćń

Zapewne konwertuje znaki zanim je wyświetli, tylko jak ?. Dodatkowo znalazłem ciekawą tabele :
Dodam jeszcze, że plik.txt jest kodowany w formacie UTF-8 (bez BOM)

PD
  • Rejestracja: dni
  • Ostatnio: dni
2

Pobierz dane jako stream

Kopiuj
Var
  Src : TStringStream;
Begin
  Src := TStringStream.Create('');
  Idhttp.Get('plik.txt', Src);
  Memo.text := Src.DataString;
  Src.Free
end;
KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gorlice
0

TEncoding to nie wiadomo po co...

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Pobranie danych do Stream, a następnie ich konwersja za pomocą UTF8Decode rozwiązuje problem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.