Доброго!
С типом String что-то непонятное... Как дело доходит до строк с русскими символами.
ini файл в кодировке 1251, читаю его, текст вывожу в memo, взамен русских символов - знаки вопроса.
Т.е. визуальные элементы в юникоде а остальное нет? Или как?
Тип String
Модератор: Модераторы
Angel_19 писал(а):а остальное нет? Или как?
Лазарусом не поддерживаются (и идеологически запрещены) маркированные кодовой страницей строки. поскольку String=AnsiString на текущую реализацию, в ее содержимом содержится именно тот мусор, что вы в нее поместили. Т.е. прочитали файл в cp1251 - будет байтовое представление cp1251, прочитали файл в koi-8 - будет байтовое представление koi-8. Попытки включить поддержку маркеров кодовой страницы в RTL freepascal приведут к неадекватному поведению библиотек лазаруса. То есть - автоматического преобразования кодировок - НЕТ.
Функции для ручной перекодировки содержимого строк представлены в unit's lconvencoding, lazutf8, для работы с именами файлов - fileutil.pas
Ссылка на старую Прикладную Кадаврологию: http://sirserge.altai.info/articles/?id=41
Там написано гнусно, но в целом правильно
Спасибо! То что нужно!
