sunnycase 6 年之前
父節點
當前提交
81975f526c
共有 1 個文件被更改,包括 4 次插入1 次删除
  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)