Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

TMemIniFile проблема с загрузкой UTF8


vladgul   (08.02.19 23:38

Доброго времени суток!

Возникла задача работать с Ini файлами в Unicode
Использую TMemIniFile
В результате, если файл в кодировке UTF8 (кодовая страница 65001), то не считывает ничего.
Если копаться в исходниках, то функция из модуля SysUtils
[Code]function TMBCSEncoding.GetCharCount(Bytes: PByte; ByteCount: Integer): Integer;
begin
 Result := UnicodeFromLocaleChars(FCodePage, FMBToWCharFlags,
   PAnsiChar(Bytes), ByteCount, nil, 0);
end;
[/Code]
Возвращает 0. Ну и дальше понятно, что ничего никуда не загружается.
Использую так:
TranslatedMemIni := TMemIniFile.Create(TranslationFile, TEncoding.UTF8);

Непосредственно в сам Ini файл с помощью Notepad++ добавил несколько специфичных символов с умляутами (всякие галочки над буквами), чтобы сразу посмотреть результат.
Но, как уже сказал, вообще ничего не считалось. Пробовал в разных вариантах. Читает только в TEncoding.ASCII, TEncoding.Default, TEncoding.UTF7. В остальных нет.
Если делаю, так
TranslatedMemIni := TMemIniFile.Create(TranslationFile, TEncoding.Default);

То все считывается, но специфичные символы превращаются в аброкадабру.

Вопрос: как правильно прочитать (а потом и записать) в кодировке UTF8.

P.S.
Delphi XE
Win 7 x64


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо