sunnycase %!s(int64=6) %!d(string=hai) anos
pai
achega
81975f526c
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      src/Native/arch/emulator/io/console.cpp

+ 4 - 1
src/Native/arch/emulator/io/console.cpp

@@ -18,7 +18,10 @@ void EmulatorConsole::OpenStdHandles(gc_obj_ref<EmulatorConsole> _this)
     _this->_stdIn = (uintptr_t)GetStdHandle(STD_INPUT_HANDLE);
     _this->_stdOut = (uintptr_t)GetStdHandle(STD_OUTPUT_HANDLE);
 
-    THROW_WIN32_IF_NOT(SetConsoleMode(_this->_stdIn._value, 0));
+    THROW_WIN32_IF_NOT(SetConsoleCP(CP_UTF8));
+    THROW_WIN32_IF_NOT(SetConsoleOutputCP(CP_UTF8));
+    THROW_WIN32_IF_NOT(SetConsoleMode(_this->_stdIn._value,
+        ENABLE_EXTENDED_FLAGS | ENABLE_INSERT_MODE | ENABLE_QUICK_EDIT_MODE | ENABLE_VIRTUAL_TERMINAL_INPUT));
 }
 
 int32_t EmulatorConsole::Read(gc_obj_ref<EmulatorConsole> _this, Span_1<uint8_t> buffer)