CP866 is usually used for console programs on Russian version of windows (which 
is OEMCP), and CP1251 is usually used for gui programs on Russian version of 
Windows (which is ACP). Technically I don't really see any reason why this 
shouldn't be working with char types. However I would rather be using UTF-16 
for every software on Windows, as the kernel itself is UTF-16 based. When you 
call SomeFunctionA it will eventually call SomeFunctionW by converting strings 
in the arguments from OEMCP/ACP to UTF-16. So technically by calling 
SomeFunctionA you will get some runtime overhead.

Reply via email to