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Там написано гнусно, но в целом правильно