0

On a Windows 11 device, I have the international settings (running "intl.cpl") set to Italian, for non-Unicode applications. Now, that results in applications like WinMerge guessing codepage 1252, which looks fine, from a Western European point of view. The same is true for WordPad too.

However, any terminal application I run (Windows Terminal, cmd.exe, TCC/LE) still starts with cp 850 (DOS Multilingual Latin I), which is different for accented letters.

Besides, I can still CHCP 1252 in every console, but ain't this a strange behavior?


Edit: To add more fun, if from cmd.exe or TCC/LE I run bash the accented letters look to be correct, but when I exit back to the previous command processor I find that the codepage has been switched to cp 858 (which anyway does not have the accented letters of 1252) ...

Giacomo1968
  • 58,727
LuC
  • 101
  • 1
  • 4

2 Answers2

1

Change system locale could help On Windows 11 -> start -> type Control panel -> change date, time or number formats -> Administrative -> Change system locale -> Russian

enter image description here

enter image description here

Denis P.
  • 111
0

No, this has always been the case for the Windows console due to its roots in literally being a "virtualized MS-DOS" window before NT era.

Similar to GUI apps, the console in Windows NT has a separate set of wchar_t-based APIs which programs can use to directly output Unicode text without any codepage conversion.

(Alternatively, in Windows 10 and later, enabling the option to use UTF-8 (65001) as the "ANSI" codepage for non-wide APIs will also select UTF-8 as the "OEM" console codepage.)

grawity
  • 501,077