On Windows, R3 currently uses the default console for text I/O. Eventually, we will add our own console, such as in R2. However, for now, we do not want to spend time on that, but on core functions.
The issue is: what mode do we want to use for the console and how is it best initialized.
IMO, there are two choices:
Set it up for UTF-8 input/output. That is, keyboard input is sent to the R3 console device as bytes in UTF-8 encoded format.
If that is not supported by MS, then UTF-16.
If that is not supported by MS, then raw Unicode codepoints as wide chars is ok.