Проблема не нова, но крайне раздражающая. Видеть абракадабру из непонятных символов вместо человекочитаемого текста, особенно когда там важная информация, крайне неприятно.
# например вот
Нажмите клавиши [1mCTRL+C [0m, чтобы остановить хост приложений и выйти.
Поэтому сегодня поговорим, как избавиться от проблемы.
Вариант 1.
Открываем
PowerShell и вводим команду:notepad $PROFILE
Если появляется сообщение о том, что путь не найден (или файл не найден и т.д.), то создадим этот файл прямо там же в
PowerShell (далее PS)New-Item -Path $PROFILE -ItemType File -Force
Эта команда создает нужный файл профиля.
Далее в открывшемся блокноте вставляем текст:
[console]::InputEncoding = [System.Text.Encoding]::UTF8
[console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
Сохраняем и закрываем файл.
Теперь при выполнении команды
notepad $PROFILE откроется этот самый файл профиля в блокноте, а команда $PROFILE покажет его расположение.После перезапуска терминала проблема должна покинуть нас навсегда.
Вариант 2.
Менее сложный, но могут быть нюансы.
В поиске (
Win11 и Win10) вводим Региональные стандартыВо вкладке "Дополнительно" нажимаем "Изменить язык системы" и в открывшемся окне отмечаем галочку "Использовать Юникод..."
Поскольку это всё ещё Бета-версия, возможны нюансы при работе со старыми (консольными?) приложениями. Не встречал сам, но надо иметь ввиду.
Вариант 3.
Самый надежный, потому что требует минимум действий. Будем использовать
Windows Terminal. В свежих версиях Win11 он доступен "из коробки", если его нет, то устанавливается из PS:winget install Microsoft.WindowsTerminal
Далее, открываем
PowerShell, Параметры => Приложение терминала по умолчанию => Windows TerminalВ общем-то и всё. Внутри
Windows Terminal работает сразу с UTF8, так что проблем с кодировкой не будет. Как внутри терминала, так и в студии. Кстати, его же можно подключить и в VS Code.

