DELPHI JSON РУССКИЕ БУКВЫ
Парсинг JSON - распространенная задача в программировании на Delphi. Однако, при работе с русскими буквами могут возникнуть проблемы с кодировкой, которые необходимо учитывать.
При загрузке JSON из файла, необходимо установить правильную кодировку для чтения. Для русского языка используется кодировка UTF-8, поэтому можно установить кодировку явно следующим образом:
var str: AnsiString; json: TJSONObject; begin str := TFile.ReadAllText('filename.json', TEncoding.UTF8); json := TJSONObject.ParseJSONValue(str) as TJSONObject; // использование, модификация объекта json json.Free; end;
Если данные получены с помощью запроса к серверу, необходимо убедиться, что сервер также использует кодировку UTF-8 для отправки данных.
При генерации JSON, необходимо также учитывать кодировку. Метод TJSONObject.ToString
использует кодировку ANSI, поэтому при выполнении следующего кода:
var obj: TJSONObject; str: AnsiString; begin obj := TJSONObject.Create; obj.AddPair('key', 'русский текст'); str := obj.ToString; obj.Free; end;
русский текст будет записан в кодировке ANSI. Чтобы использовать кодировку UTF-8, необходимо выполнить:
var obj: TJSONObject; str: UTF8String; begin obj := TJSONObject.Create; obj.AddPair('key', 'русский текст'); str := TEncoding.UTF8.GetBytes(obj.ToString); obj.Free; end;
Таким образом, чтобы корректно работать с json и русскими буквами в Delphi, необходимо учитывать правильную кодировку при чтении и записи JSON.
Урок на делфи. 86. Парсим сайт
Иероглифы вместо русских букв на Windows. Как исправить?
20210520 Новые возможности FastReport для Delphi – Генерация отчетов в Linux
Данные из Dataset в формате JSON для поддержки JavaScript-клиентов
DelphiTips #16 - Json To Delphi Class
Решение проблемы с кодировкой КИРИЛЛИЦЫ в VSCODE
Вебинар \
Символы вместо русских букв - Как убрать иероглифы
POST и GET запросы в Delphi - Indy idHTTP
Как исправить кодировку русского языка