| Предыдущий | Следующий |
| STATUS_ADVANCED_INSTALLER_FAILED | STATUS_SXS_MANIFEST_TOO_BIG |
STATUS_XML_ENCODING_MISMATCH
Объявленная кодировка символов не соответствует фактическим байтам
XML-процессоры используют метку порядка байтов, начальный шаблон байтов и декларацию кодировки, чтобы определить преобразование байтов в символы. Файл, сохранённый в UTF-8, но объявляющий UTF-16, либо сохранённый в устаревшей кодовой странице при декларации UTF-8, может завершиться ошибкой ещё до проверки схемы side-by-side.
Исправляйте источник сериализации, а не только видимый текст. Повторное сохранение в редакторе может добавить или удалить BOM, нормализовать символы или изменить кодировку, оставив декларацию прежней.
Что проверить
- Проверьте первые необработанные байты, BOM и точную декларацию XML.
- Проверьте файл XML-парсером, используя те же байты, которые получает Windows.
- Проверьте этапы сборки, упаковки, подписания и передачи на непреднамеренное перекодирование.
- После исправления кодировки повторно проверьте схему манифеста и хэши, поскольку байтовое содержимое изменилось.
Ссылки
- Открытые спецификации Microsoft: значения NTSTATUS
- W3C: правила кодировки символов XML 1.0
- Microsoft: манифесты приложений
- Microsoft: манифесты сборок
Нужно найти другой код? Найти другой код состояния или ошибки.