Apps using legacy CRTs don’t work properly with certain regional settings

Gjelder: Windows 10, version 1809

Summary


Some Apps using legacy C run-time libraries don’t work properly when the regional setting doesn’t support a codepage

Background


In Windows 1809 when applications request the locale's codepage, there was change to return CP_UTF8 instead of CP_ACP as UTF-8 would encompass those locale's linguistic data. This change however breaks apps not using the codepage concept correctly - including some legacy CRTs.

To address this, we are reverting to the old behavior of returning CP_ACP instead of CP_UTF8.

Workaround


  • Users can to temporarily change their Region to “English (United States)” in Settings->Region->RegionalFormat set to English”(United States)” (selecting any locate with codepage)
  • Ensure Checkbox “Beta: Use Unicode UTF8 for worldwide language support is not selected.

Start > Settings > Time & Language > “Date, time, & regional formatting” > “Additional date, time, & region settings” > Region > Administrative > Change system locale.