Альт,
потому что после строки
s:=Utf8ToAnsi(rich_in.Lines.Text);// <- преобразует правильно
крокозяблы превращаются в читабельный вид.
Нашел следующее:
var code: TEncoding;
begin
code:=TEncoding.UTF8;
rich_in.Lines.LoadFromFile(list.Strings[it],code);// utf8 файл, с русскими буквами, грузится уже с преобразованными крокозабликами в читабельный вид
... манипуляции
rich_in.Lines.SaveToFile(list.Strings[it]+'1',code);// сохраняет в првильном виде с крокозябликами utf8
end;
но новый фикус
1. Добавляет загрузчик BOM (который не нужен)
2. Файл отличается на цельных 20 байт если сохранять в один в один без каких либо изменений