v7: Сохранить в UTF-8 без BOM
☑
0
Бамагите
20.09.12
✎
20:55
нашел на форуме что делать можно так:
Stream = CreateObject("Adodb.Stream");
Stream.Charset="utf-8";
Stream.Type = 2;
Stream.Mode= 3;
Stream.Open();
но при таком способе в начало файла добавляются эти "п»ї", будь они неладны.
Как от них избавится?
1
andrewks
20.09.12
✎
20:59
Попытка
Файл=СоздатьОбъект("ADODB.Stream");
Файл.Mode=3; // r/w
Файл.Type=1; //1-Binary, 2-Text
Файл.Open();
Файл.LoadFromFile(ИмяФайлаДанных);
Файл.Position=3;
ТекстБезБОМ=СоздатьОбъект("ADODB.Stream");
ТекстБезБОМ.Mode=3; // r/w
ТекстБезБОМ.Type=1; //1-Binary, 2-Text
ТекстБезБОМ.Open();
Файл.CopyTo(ТекстБезБОМ);
Файл.Close();
ТекстБезБОМ.SaveToFile(ИмяФайлаДанных,2);
ТекстБезБОМ.Close();
Исключение
ТекстОшибки=ОписаниеОшибки();
Сообщить(ТекстОшибки,"!");
Возврат;
КонецПопытки;
2
Бамагите
20.09.12
✎
22:01
Блин, неужели работает!
Сначала попробовал писать сразу в ТекстБезБОМ, но при type=1 метод WriteText выдавал ошибку.
С вашей подсказкой получилось обычный текст переписать в юникод без бом. Спасибо!
3
Fragster
гуру
21.09.12
✎
08:22
это же заляпуха
4
andrewks
21.09.12
✎
08:25
(3) показывай свою незалипуху
5
Fragster
гуру
21.09.12
✎
08:50
(4) 1. не использовать программы, которые не понимают нормально ютф-8
2. не использовать ютф-8
6
andrewks
21.09.12
✎
08:56
(5) твоя помощь просто неоценима
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn