@ Plastkort, Delphi> = 2009 прекрасно умеет читать и обрабатывать AnsiString.Вы получаете бессмысленные символы только в том случае, если вы каким-то образом жестко преобразуете данные ANSI в Unicode, возможно, путем точного приведения указателя на PChar.
Если бы мне пришлось преобразовать чужой код в Unicode, я бы начал с поискаPChar, Char и String, особенно в тех местах, где другие типы жестко преобразуются в эти типы.Это связано с тем, что эти типы изменили значение: в не-Unicode delphi значение CHAR составляло 1 байт, а теперь - 2 байта.
Само преобразование не обязательно сложное, вам просто нужно понять проблему, с которой вы столкнулись, и вынужно иметь хорошее понимание кода, который вы конвертируете.И это большая работа, особенно когда дело касается кода, который делает «умные вещи со строками».