Kodowanie znaków w TRESTClient/TRESTRequest/TRESTResponse

0

Dzień dobry,
Mam taki dziwny kłopot z komponentami TREST.... Otrzymuję odpowiedź od serwera z danymi, ale one są zakodowane w UTF-8. No i wyświetla mi się sieczka w postaci kodów \u017 itp. Jak to poprawnie wyświetlić. Pomoże ktoś?

0

Hm, ciekawe. Jeśli dobrze pamietam to utf 8 jest kompatybilny z ASCII wiec 17 znak jest zwyczajnie niedrukowalny

1

Sorry. Zwracam honor. tam jest \u017c. Jak się ma kiepski wzrok, to tak bywa. :)
Te kody, to są polskie znaki. To jest akurat ż.

1

@Buster: napisz konkretnie co się dzieje i czego oczekujesz.

Jeśli masz problem z kodowaniem, to przekonwertuj ciąg znaków z UTF-8 do WideString (sprawdź w ogóle czym jest String w Twoim Delphi, bo stare używały AnsiString, a nowsze UnicodeString). Natomiast jeśli problemem jest to, że ciąg znaków zawiera sekwencje escapowane (czyli wspomniane \u017c jest sześcioznakową zawartością łańcucha), to musisz sobie przeparsować ten ciąg i pozamieniać to na odpowiednie znaki.

0

Właśnie chodziło mi o samo kodowanie. W PHP jak pobierałem dane, to wszystko ładnie się pobierało i wyświetlało. Natomiast w Delphi dostałem drobną sieczkę z tymi sekwencjami escapowanymi. A używam Delphi 10.4

1

System.UTF8ToString — powinno się nadać.

0

Niestety. Nie działa. Hmmm.

1

według tej strony https://www.fileformat.info/info/unicode/char/017c/index.htm znak U+017C jest (wydaje mi się) zakodowany w UTF-16
msedge_mla1PGqEji.png

0
Buster napisał(a):

Niestety. Nie działa. Hmmm.

To nie jest sensowny opis problemu. Po drugie, nadal nie wiadomo czy ciąg znaków zawiera znaki escapowane, czy masz problem z wyświetlaniem ciągu znaków. Tak więc albo opisz problem sensownie i wyjaśnij konkretnie na czym polegają błędy, albo się z nimi zaprzyjaźnij.

0

Czy przypadkiem w dokumentacji tego REST'a nie powiedziano jaśnie i wyraźnie że zwraca on JSon'a?

0

Temat generalnie do zamknięcia. Działa wszystko w porządku. Jak już sparsowałem JSON-a, to wyświetla prawidłowo z polskimi znakami. :)

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.