Функция UTF8(Стр)
Длина=СтрДлина(Стр);
Итог="";
Для Н=1 По Длина Цикл
Знак=Сред(Стр,Н,1);
Код=КодСимвола(Знак);
Если Код<128 Тогда
Итог=Итог+Знак;
Иначе
Если (Код>=КодСимвола("А"))И(Код<=КодСимвола("п")) Тогда
Итог=Итог+Символ(208)+Символ(144+Код-КодСимвола("А"));
ИначеЕсли (Код>=КодСимвола("р"))И(Код<=КодСимвола("я")) Тогда
Итог=Итог+Символ(209)+Символ(128+Код-КодСимвола("р"));
ИначеЕсли (Знак="ё") Тогда
Итог=Итог+Символ(209)+Символ(145);
ИначеЕсли (Знак="Ё") Тогда
Итог=Итог+Символ(208)+Символ(129);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат Итог;
КонецФункции
Начнём с того, что в 1С строка всегда Unicode и перевести её в UTF-8 не получится, так как каждый символ занимает два байта, а в UTF-8 произвольное число байт.
Можно попытаться "имитировать" строку UTF-8 из двухбайтовой строки, но результат будет непредсказуемым - мы даже не можем получить строку с нечётным числом байтов.