@doongjohn Did you try setting Japanese code-page ( **chcp 932** ) prior to try 
writing Japanese?

My tests have shown the following:

When experimental UTF-8 support is enabled in advanced language settings on 
Windows, all input turns into 0x00 characters no matter what.  
When experimental UTF-8 support is disabled, the following things happen:  


 **setConsoleCP(65001)** normally causes input to turn into 0x00 characters, 
while certain combinations of code-page and set language for non-Unicode 
programs yield incorrect characters instead.

**setConsoleOutputCP(65001)** with manual conversion from local (input) 
encoding to UTF-8 works when typing **Korean with Korean code-page** or **Greek 
with Greek code-page**. (Note that this works in a way somehow similar to my 
code.)

When typing **Greek with Korean code-page** things are affected by **language 
for non-Unicode programs** :

  * If this is set to **Greek** , 0x00 characters are received.
  * If this is set to **Korean** , the correct (Greek) code-points are received 
and printed on screen.



When typing **Korean with Greek code-page** things are affected by **language 
for non-Unicode programs** :

  * If this is set to **Korean** , invalid characters are received.
  * If this is set to **Greek** , the correct (Korean) code-points are 
received, but they cannot be printed correctly on screen.



The last two observations indicate that things work differently when code-page 
and language for non-Unicode programs match.

Again these observations were done using MinGW as the backend. If someone uses 
a different backend there is a chance that something might work differently. 

Reply via email to