Процедура Сформировать() Перем Имя,Путь; Если ФС.ВыбратьФайл(0,Имя,Путь,"","*.*|*.*","*")=0 Тогда Возврат; КонецЕсли; Файл=Путь+Имя; Стрим=СоздатьОбъект("ADODB.Stream"); Стрим.Type=2; Стрим.charset="windows-1251"; Стрим.Open(); Стрим.LoadFromFile(Файл); Стрим.charset="utf-8"; Стр=Лев(Стрим.ReadText(),255); Сообщить(Стр); КонецПроцедуры // еще способ Процедура Сформировать() Перем Имя,Путь; Если ФС.ВыбратьФайл(0,Имя,Путь,"","*.*|*.*","*")=0 Тогда Возврат; КонецЕсли; Файл=Путь+Имя; УТФ16=КаталогВременныхФайлов()+_GetPerformanceCounter()+"-unicode.txt"; ЦП1251=КаталогВременныхФайлов()+_GetPerformanceCounter()+"-cp1251.txt"; БАТ=КаталогВременныхФайлов()+_GetPerformanceCounter()+".bat"; Стр="@echo off |chcp 1251 > nul |chcp 65001 |>> """+УТФ16+""" cmd /u /c ""type """+Файл+""" & chcp 1251 > nul"" |chcp 1251 > nul |type """+УТФ16+""" > """+ЦП1251+""" |chcp 866 > nul"; Текст=СоздатьОбъект("Текст"); Текст.ДобавитьСтроку(Стр); Текст.Записать(БАТ); КомандаСистемы(БАТ); Текст=СоздатьОбъект("Текст"); Текст.Открыть(ЦП1251); Для Сч=1 По Текст.КоличествоСтрок() Цикл Сообщить(Лев(Текст.ПолучитьСтроку(Сч),255)); КонецЦикла; ФС.УдалитьФайл(УТФ16); ФС.УдалитьФайл(ЦП1251); ФС.УдалитьФайл(БАТ); КонецПроцедуры