Есть файл (приведен на скриншоте) в котором написаны украинские символы. При открытии в браузере все корректно отображается, но при использовании такого кода(образно):

Парсер = Новый ЧтениеXML;
Парсер.ОткрытьФайл(Каталог);
Пока Парсер.Прочитать() Цикл
Наименование=Парсер.ЗначениеАтрибута("Naimenovanie");
КонецЦикла;

В переменную наименование попадает другой текст.
В параметрах парсера:
Парсер.КодировкаXML = "windows-1251"
Парсер.КодировкаИсточника = "UTF-8"
Парсер.ВерсияXML=1.0

В чем может быть проблема?
---
а так?

```1c
    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"windows-1251 ");
    Файл=ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();
    Парсер = Новый ЧтениеXML;
    Парсер.УстановитьСтроку(Файл);
    Пока Парсер.Прочитать() Цикл
```
---
Помогла перекодировка файла. Спасибо! (написал вот такой код)

```1c
    &НаСервереБезКонтекста
    Функция Пересохранить(Каталог)
    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"windows-1251 ");
    Файл=ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();

    файлЗапись = Новый ЗаписьТекста(Каталог,"UTF-8");
    Файл=СтрЗаменить(Файл,"windows-1251","UTF-8");
    файлЗапись.Записать(Файл);
    файлЗапись.Закрыть();

    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"UTF-8");
    Файл=ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();
    Возврат Файл;
    КонецФункции
```
---
Интересный вариант, но после найденного решения так лень его пробовать. Закреплю его в верху темы, если кто то столкнется с данной проблемой пусть попробует, либо я чуть позже при желании проверю :)
---
Можно предложить 2 варианта.
1) задать кодировку в Парсер.ОткрытьФайл(Каталог);
2) открыть файл чтением текста с указанием кодировки windows 1251, пересохранить как UTF-8 и чтением xml читать как UTF-8.
---
В ОткрытьФайл(<ИмяФайлаXML>, <Параметры>, <НаборСхемXML>, <Кодировка>) , <Кодировка> - нет кодировки "windows-1251" и когда я насильно ее записал, то во время отладки в КодировкаXML и КодировкаИсточника отобразилось UTF-8 и украинские символы не были распознаны.
---
Да, эту кодировку указывать вроде как не обязательно, она должна автоматом определяться.

Можно попробовать второй вариант, с пересохранением файла в UTF-8.

А можете файл приложить?
---
Конечно.
---
У меня читается норм.
---
Проверил в тонком клиенте - все ок. В мобильном приложении вот так читается.
Какие кривые руки у 1с разработчиков арррррррррррррррррррррррррррррррррр
---
Попробуйте пересохранить в UTF-8 все таки =)
---
Подскажите пожалуйста как пересохранить в UTF-8?)

```1c
    &НаСервереБезКонтекста
    Процедура Пересохранить(Каталог)
    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"WINDOWS-1251");
    ПрочитатьФайл.Закрыть();
    КонецПроцедуры
```

Примечание: в "Кодировка" нет варианта "WINDOWS-1251", не знаю можно ли его туда писать.
---
в "Кодировка" нет варианта "WINDOWS-1251", не знаю можно ли его туда писать.
Есть. "windows-1251"
---
Нашел.
А в utf-8 как переконвертировать?

```1c
    &НаСервереБезКонтекста
    Процедура Пересохранить(Каталог)
    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"windows-1251");
    ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();
    КонецПроцедуры
```
---
при ЧтениеТекста так же не правильно перекодирует?
---
Помогла перекодировка файла. Спасибо! (написал вот такой код)

```1c
    &НаСервереБезКонтекста
    Функция Пересохранить(Каталог)
    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"windows-1251 ");
    Файл=ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();

    файлЗапись = Новый ЗаписьТекста(Каталог,"UTF-8");
    Файл=СтрЗаменить(Файл,"windows-1251","UTF-8");
    файлЗапись.Записать(Файл);
    файлЗапись.Закрыть();

    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"UTF-8");
    Файл=ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();
    Возврат Файл;
    КонецФункции
```
---
попробуйте на самом устройстве. Судя по символу, неправильно определяется символ. Вместо 0456 подставляется 0491.
---
Я отлаживаю код на самом устройстве и именно на нем такая проблема с распознаванием текста. Вы правы.
---
я имел ввиду не смотреть в отладчике, а вывести на само устройство текст.
---
Корректное отображение символов и в отладчике и в дальнейшем в Сообщить(Файл)

```1c
    &НаСервереБезКонтекста
    Функция Пересохранить(Каталог)
    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"windows-1251 ");
    Файл=ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();
    Возврат Файл;
    КонецФункции
```
---
а так?

```1c
    ПрочитатьФайл=Новый ЧтениеТекста(Каталог,"windows-1251 ");
    Файл=ПрочитатьФайл.Прочитать();
    ПрочитатьФайл.Закрыть();
    Парсер = Новый ЧтениеXML;
    Парсер.УстановитьСтроку(Файл);
    Пока Парсер.Прочитать() Цикл
```
---
Интересный вариант, но после найденного решения так лень его пробовать. Закреплю его в верху темы, если кто то столкнется с данной проблемой пусть попробует, либо я чуть позже при желании проверю :)
---
Я вижу только способ считывать текст и после парсить символы и заменять на украинские.
Нет слов...