Загружал прайс сварога и получил кривую кодировку. Посмотрел какая кодировка и выснилось, что стоит UTF-8. Сначала решений не было, но вернувшись к вопросу пару месяцев спустя нашел случайно ответ
Функция ПрочитатьCSVвТЗ_ADO(ИмяФайла, Разделитель=";", ЗаголовкиИзПервойСтроки = Ложь)
ТаблицаРезультат = Новый ТаблицаЗначений;
Файл = Новый Файл(ИмяФайла);
Connection=Новый COMОбъект("ADODB.Connection");
Connection.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Файл.Путь+";Extended Properties=""text;HDR=No;IMEX=1;FMT=Delimited;CharacterSet=65001""");
Схема = СтрШаблон("[%1]
|ColNameHeader=%2
|Format=Delimited(%3)
|DecimalSymbol=.", Файл.Имя, Формат(ЗаголовкиИзПервойСтроки, "БЛ=False; БИ=True"), Разделитель);
ФайлСхемы = Новый ТекстовыйДокумент;
ФайлСхемы.УстановитьТекст(Схема);
ФайлСхемы.Записать(Файл.Путь + "Schema.ini", "CESU-8"); // UTF-8 без BOM
RecordSet=Новый COMОбъект("ADODB.Recordset");
RecordSet.ActiveConnection = Connection;
ЗапросЛист="select * from "+Файл.Имя;
RecordSet.Open(ЗапросЛист, Connection);
//Здесь читаем файл в ТаблицаРезультат
RecordSet.Close();
Connection.Close();
Возврат(ТаблицаРезультат);
КонецФункции
Собственно кодировка указывается в настройке подключения
Комментариев нет:
Отправить комментарий