Приложения, использующие устаревшие crt, неправильно работают с определенными региональными параметрами

Применяется к
Windows 10, version 1809, all editions

Сводка

Некоторые приложения, использующие устаревшие библиотеки времени выполнения C, работают неправильно, если региональный параметр не поддерживает кодовую страницу.

Краткое описание ситуации

В Windows 1809, когда приложения запрашивают кодовую страницу языкового стандарта, было изменено возвращать CP_UTF8 вместо CP_ACP так как UTF-8 будет охватывать лингвистические данные языкового стандарта. Однако это изменение нарушает работу приложений, которые неправильно используют концепцию codepage, включая некоторые устаревшие crt.

Чтобы устранить эту проблему, мы вернемся к старому поведению возврата CP_ACP вместо CP_UTF8.

Временное решение

  • Пользователи могут временно изменить свой регион на "Английский (США)" в разделе Settings-Region-RegionalFormat>> set to English"(США)" (выбор любого расположения с помощью codepage)
  • Убедитесь, что флажок "Бета-версия: использовать UTF8 в Юникоде для поддержки языков по всему миру не установлен.

Начальные >> параметры Время & язык > "Дата, время, & региональное форматирование" > "Дополнительные параметры даты, времени & региона" > Региональные > административные > изменения языкового стандарта системы.