Если stringA := 'Русские символы'; а потом сказать stringB[5] := stringA[8]; то в stringB[5] присвоится := '?'... (знак вопроса...) Это, как-то связано с UTF8 и Русскими символами...
Вопрос: "Как присваивать, например stringB[5] := stringA[8], если кодировка UTF8 и Русские символы?..."
Нет у вас на данном этапе строк как массива символов и символов как таковых, привыкайте к плохому.
А потом эволюционирует UnicodeString и "неявное преобразование кодировок" с символом длиной в четыре байта, к великому сожалению (если судить по ембаркадеровским дельфам).