
В настоящее время я использую Windows 7 x64 и обычно хочу, чтобы все консольные инструменты работали с UTF-8, а не с кодовой страницей по умолчанию 850.
Запуск chcp 65001
командной строки перед использованием любых инструментов помогает, но есть ли способ установить ее в качестве кодовой страницы по умолчанию?
Обновлять:
Изменение HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
значения так 65001
, чтобы в моем случае система не могла загрузиться.
Предложенное изменение на отлично HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun
подошло @chcp 65001>nul
для моих целей. (спасибоОле_Брун)
решение1
Чтобы изменить кодовую страницу только для консоли, выполните следующие действия:
- Пуск -> Выполнить -> regedit
- Идти к
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
- Измените значение на
@chcp 65001>nul
Если Autorun
его нет, вы можете добавитьNew String
решение2
В сборке Windows 10 1809 мне удалось навсегда решить эту проблему, перейдя в системный раздел Language settings
, выбрав Administrative language settings
, нажав Change system locale...
и установив Beta: Use Unicode UTF-8 for worldwide language support
флажок, а затем перезагрузив компьютер.
Таким образом, это применяется ко всем приложениям, даже к тем, которые я не запускаю из командной строки!
(Что было необходимо для меня, так как я пытался редактировать код Agda из Atom.)
решение3
Лично мне не нравится менять реестр. Это может вызвать много проблем. Я создал пакетный файл:
@ECHO OFF
REM change CHCP to UTF-8
CHCP 65001
CLS
Я сохранил C:\Windows\System32
как switch.bat
и создал ссылку cmd.exe
на рабочем столе.
В свойствах ярлыка cmd изменил место назначения на:C:\Windows\System32\cmd.exe /k switch
Вуаля, когда мне нужно ввести текст в кодировке UTF-8, я использую эту ссылку.
решение4
Команда для смены кодовой страницы — chcp <codepage>
. Пример: chcp 1252
. Ее следует ввести в окне Powershell. Чтобы избежать хлопот с ее вводом каждый раз (если вам всегда приходится менять кодовую страницу), вы можете добавить ее в командную строку программы. Для этого выполните следующие действия:
- Щелкните правой кнопкой мыши значок Powershell в меню «Пуск» и выберите «Дополнительно» > «Открыть расположение файла».
- Щелкните правой кнопкой мыши ярлык Powershell и выберите «Свойства».
- Добавьте следующее в конец командной строки «Target»:
-NoExit -Command "chcp 1252"
Будьте счастливы. Не лезьте в реестр Windows, если у вас нет другого выбора.