Delphi < 2009, замена юникода для JvAppStorage
-
07-07-2019 - |
Вопрос
Я ищу лучший вариант для сохранения настроек своего приложения. Я решил написать собственный класс, который наследует от TPersistent, который будет хранить все доступные параметры конфигурации. В настоящее время я ищу лучший способ сохранить его - и я нашел JvAppStorage, который выглядел очень многообещающе (так как я использую JVCL в моем проекте в любом случае ...), но он не обрабатывает Unicode (WideStrings) должным образом. Для файлов XML он хранит символы в виде сущностей, для файла INI он, кажется, хранится нормально, но в обоих случаях загрузка строк заменяет текст множеством знаков вопроса ...
Есть ли какая-нибудь хорошая замена, которая также обрабатывает Unicode?
Заранее спасибо.
Решение
Недавно преобразованный в JSON из INI-файлов (и страшных XML!) для хранения настроек. Это так удобно и гибко. См. SuperObject .
Другие советы
Довольно часто используется использование UTF-8 в качестве представления данных Юникода на диске. В вашем коде используйте тип данных Utf8String
для хранения данных, закодированных таким образом, чтобы вы помнили, что вам нужно преобразовать их перед использованием в остальной части приложения.
Я использую MSXML для хранения настроек для каждого пользователя в личном каталоге в сети. Он также должен обрабатывать Unicode.