Версия для печати темы (https://pro1c.org.ua/index.php?s=ca8361650400a9fcfabf44cb8b32450f&showtopic=67852)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Запис ХМЛ. Спецсимвол "Ø" (діаметр)

Автор: Inkognito 28.06.25, 14:37

УТП. Запис ХМЛ.
Необхідно зробити коректний запис назви, в якій є спецсимол "Ш" (діаметр).
Типовий запис не дає бажаного результату:

Текст = "КАБЕЛЬ ЕЛЕКТР. 2 X 7 / 15 ПІН Ш30MM"; 
Текст = XMLСтрока(СтрЗаменить(Текст, "Ш", "Ш"));
ОбъектXML.ЗаписатьТекст(Текст);


Результат записуться:
КАБЕЛЬ ЕЛЕКТР. 2 X 7 / 15 ПІН Ø30MM
а має бути:
КАБЕЛЬ ЕЛЕКТР. 2 X 7 / 15 ПІН Ш30MM

Автор: Moloko 28.06.25, 14:59

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку("UTF-8"); // Вказуємо кодування UTF-8

// Або для ЗаписьТекста
// ЗаписьТекста = Новый ЗаписьТекста("Ім'яФайлу.xml", КодировкаТекста.UTF8);

Текст = "КАБЕЛЬ ЕЛЕКТР. 2 X 7 / 15 ПІН Ø30MM";

ЗаписьXML.ЗаписатьНачалоЭлемента("НазваПродукту");
ЗаписьXML.ЗаписатьТекст(Текст); // Тут ЗаписьXML сам має коректно обробити символ, якщо кодування правильне
ЗаписьXML.ЗаписатьКонецЭлемента();

// Отримання XML
СтрокаXML = ЗаписьXML.Закрыть();

Автор: Inkognito 29.06.25, 19:14

Moloko @ Вчера, 14:59 * ,
Виявляється, в кодуванні "windows-1251" така проблема. UTF-8 записує як є.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua