(Delphi) Кодировка русских символов в JSON
При парсинге JSON можно столкнуться с такой проблемой, что русские символы Delphi конвертирует в их числовой код. Например вместо слова «абвг» Вам вернётся «\u0430\u0431\u0432\u0433″.
Справиться с данной ситуацией нам поможет функция Convert, которую нам понадобится включить в свой проект.
Функция Convert:
function Convert(const InText: string): string; var i, op: Integer; c: WideChar; t, n: string; begin i := 1; op := 1; while PosEx('\u', InText, i) <> 0 do begin i := PosEx('\u', InText, i); t := t + Copy(InText, op, i - op); Inc(i, 2); n := Copy(InText, i, 4); op := i + 4; c := WideChar(StrToInt('$' + n)); t := t + WideString(c); end; t := t + Copy(InText, op, Length(InText)); Result := t; end;
Использование функции:
var Str: string; begin Str:=Convert(IdHTTP1.Post('http://site.ru', data)); Memo1.Lines.Add(Str); end;
После использования данной функции Вам будут возвращаться в исходном коде страницы русские символы.
Оставить комментарий авторизованы, что бы оставить комментарий.
Вы должны быть