diff options
-rw-r--r-- | Lib/venv/scripts/nt/activate.bat | 11 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2018-11-02-12-01-00.bpo-32409.MFRX2Q.rst | 2 |
2 files changed, 7 insertions, 6 deletions
diff --git a/Lib/venv/scripts/nt/activate.bat b/Lib/venv/scripts/nt/activate.bat index 126049f..2c81a28 100644 --- a/Lib/venv/scripts/nt/activate.bat +++ b/Lib/venv/scripts/nt/activate.bat @@ -1,11 +1,10 @@ @echo off -rem This file is UTF-8 encoded, so we need to update the current code page while executing it -for /f "tokens=2 delims=:" %%a in ('"%SystemRoot%\System32\chcp.com"') do ( - set "_OLD_CODEPAGE=%%a" -) +rem This file is UTF-8 encoded, so we need to update the current code page while executing it. +for /f %%a in ('%~dp0python.exe -Ic "import ctypes; print(ctypes.windll.kernel32.GetConsoleOutputCP())"') do (set "_OLD_CODEPAGE=%%a") + if defined _OLD_CODEPAGE ( - "%SystemRoot%\System32\chcp.com" 65001 > nul + %~dp0python.exe -Ic "import ctypes; ctypes.windll.kernel32.SetConsoleOutputCP(65001)" ) set "VIRTUAL_ENV=__VENV_DIR__" @@ -40,6 +39,6 @@ set "PATH=%VIRTUAL_ENV%\__VENV_BIN_NAME__;%PATH%" :END if defined _OLD_CODEPAGE ( - "%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul + %~dp0python.exe -Ic "import ctypes; ctypes.windll.kernel32.SetConsoleOutputCP(%_OLD_CODEPAGE%)" set "_OLD_CODEPAGE=" ) diff --git a/Misc/NEWS.d/next/Library/2018-11-02-12-01-00.bpo-32409.MFRX2Q.rst b/Misc/NEWS.d/next/Library/2018-11-02-12-01-00.bpo-32409.MFRX2Q.rst new file mode 100644 index 0000000..9b57c5b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-11-02-12-01-00.bpo-32409.MFRX2Q.rst @@ -0,0 +1,2 @@ +Fixed implementation of :file:`activate.bat` to handle Unicode contents on +localized Windows systems (eg. German). Patch by Martin Bijl.
\ No newline at end of file |