Delphi, Allegro Rest API, "A?" zamiast polskich znaków

0

Cześć
Mam problem z moją aplikacją do zamówień z allegro poprzez REST API. Cały czas wszystko ładnie działało a od kilku dni zamiast polskich znaków typu śćńęą zawsze pojawia się "A?"
W aktualnościach Allegro REST Api nie wyczytałem, aby coś pozmieniali. Kodowanie znaków ustawione zgodnie z dokumentacją na UTF-8.
Gdzie może tkwić problem?

Poprawka. Jednak są rożne symbole typu ÅÄ w zależności od polskiego znaku

1

Bez kodu to sobie można a wróżyć z fusów ale co należy sprawdzić czy wysyłanie żądanie Content-Type zawiera zdefiniowane kodowanie np. Content-Type: text/xml; charset=utf-8 tak samo sprawdź odpowiedź być może ma zdefiniowane inne kodowanie i będziesz wiedział jakie co może naprowadzić na rozwiązanie.

1

następne pytanie, czy brak polskich znaków objawił się na tym samym działającym od dawna komputerze i aplikacji czy może jednak jest to inna instalacja tego programu (np. na innym komputerze). A jeśli na tym samym to czy np. nie było jakiegoś ważnego update systemu (np. 2004)?
Ale jak pisze @kAzek bez kodu to możemy sobie tylko dywagować

A, jeszcze jedno. W dokumentacji jest taki fragment:

Jeżeli chcesz być pewny, że wszystkie teksty zwracane będą w języku polskim, wysyłaj z każdym żądaniem nagłówek:

Accept-Language: pl-PL

Wydaje się że nie powinno tyczyć to kodowania ale w Allegro wszystko jest możliwe. Jednak rozbudowują serwisy zagraniczne i coś tam mogło się im przemycić do kodu.

0

Miałem podobny problem pisząc restapi w c# - w konsoli i potem na www nie pokazywały mi się polskie znaki, tylko krzaczki. Okazało się, że problem nie był w aplikacji, tylko ustawieniach języka w Windows 10 (jak to znajdę to podam...)

0

Dzięki za sugestie.
Charset miałem ustawiony prawidłowo. Problem pojawił się z dnia na dzień na każdym komputerze, Win 7 i Win 10 to samo. Nie mam ustawionego nagłówka "Accept-Language: pl-PL", może to jest powód, nie sprawdzałem bo obszedłem problem rozwiązaniem z forum:

W skrócie:

var
  Src : TStringStream;
  Response : String;
begin
  Src := TStringStream.Create('');
  Indy.Get('https://api.allegro.pl/order/checkout-forms/'+FormID,Src);
  Response:= UTF8Decode(Src.DataString); 
  Src.Free;
end;

Teraz polskie znaki działają

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