Создаете выгрузку из 1с на сайт с помощью текстового файла? Ничего не работает из-за BOM в UTF8. Разбираемся как создать UTF8 без BOM.
Рассмотрим абсурдный вариант без программирования, создавать файлы программно, открывать их в текстовом редакторе например notepad++ и менять кодировку. Понимая что вариант не рабочий перейдем к нормальному решению.
Что бы создать UTF8 без BOM создаем текстовый документ с BOM, потом открываем его считываем без «БУМ» и перезаписываем.
Пример функции которая это делает:
Функция ЗаписатьФайлВформате_UTF8_без_BOM(текст,полноеИмяФайла) // записываем в файл с символами BOM в начале файле ТекстовыйФайлUTF8_Bom = Новый ТекстовыйДокумент(); ТекстовыйФайлUTF8_Bom.ДобавитьСтроку(текст); ТекстовыйФайлUTF8_Bom.Записать(полноеИмяФайла,"UTF-8″); // открываем файл и считываем символы после символов BOM Данные = Новый ДвоичныеДанные(полноеИмяФайла); Строка64=Base64Строка(Данные); Строка64=Прав(Строка64,СтрДлина(Строка64)-4); ДанныеНаЗапись=Base64Значение(Строка64); ДанныеНаЗапись.Записать(полноеИмяФайла); КонецФункции //Или использовать функцию ТекстовогоДокумента в поток //Записать(, , , )
Дополнительные материалы:
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.