В Windows 10 версии 1903 появилось новое свойство манифеста под названием
activeCodePage
, которое можно использовать для установки кодовой страницы процесса в UTF-8.Начиная с Windows Server 2022 (и Windows 11)¹ вы также можете использовать это свойство для выбора кодовых страниц, отличных от UTF-8, в манифестах неупакованных приложений².
AppLocale наконец-то повзрослел!
Если вы указываете
Legacy
в activeCodePage
, то этим вы говорите, что ваше приложение "активно ненавидит" UTF-8. В таком случае ему будет присвоена системная локаль по умолчанию - при условии, что она существует и не является UTF-8. В противном (исключительном) случае вы получите кодовую страницу 1252 в качестве запасного варианта.Вы также можете указать имя локали, например
en-US
, ru-RU
или ja-JP
, и приложение получит кодовую страницу, соответствующую этой локали. Если локаль не распознается системой, вы получите UTF-8 в качестве запасного варианта.Этот трюк наиболее полезен для целей совместимости приложений: если у вас есть какое-то устаревшее приложение, которое предполагает определенную локаль, вы можете развернуть манифест рядом с приложением, который говорит: «Мне все равно, какую локаль использует система. Дайте этому приложению языковой стандарт, который он хочет».
Вот сводная таблица, так как я знаю, что люди любят сводные таблицы.
activeCodePage = |
UTF-8 |
имя локали | Legacy |
---|---|---|---|
Регистр важен? | Да | Нет | Да |
Предпочтительный результат | UTF-8 | Указанная локаль, если доступна |
Системная локаль, если доступна, но не UTF-8 |
Запасной вариант | UTF-8 | 1252 | |
Packaged-приложение | Поддерживается | Не поддерживается | Не поддерживается |
Unpackaged-приложение | Поддерживается | Поддерживается | Поддерживается |
¹ В частности, сборка 20348 и более поздняя версия, которая также включает HoloLens 2 - также известную как Windows Holographic версии 21H1.
² Кодовое название манифестов неупакованных приложений³ было "fusion", поэтому в документации вы можете видеть термин "fusion-манифесты".
³ В то время их не называли "манифестами неупакованных приложений", потому что, когда писался проект fusion, у нас вообще не было упакованных приложений. Их называли просто "манифестами". Позже, когда для упакованных приложений были введены манифесты, для описания fusion-манифестов был изобретен ретроним "манифесты неупакованных приложений".
Комментариев нет:
Отправить комментарий
Можно использовать некоторые HTML-теги, например:
<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>
Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.
Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.