Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/140: Рейтинг темы: голосов - 140, средняя оценка - 4.81
28 / 26 / 9
Регистрация: 10.08.2016
Сообщений: 162

Кодировка в PowerShell

02.07.2020, 17:21. Показов 30870. Ответов 5

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
У меня может быть нубский вопрос: иногда при выводе логов или другой различной информации PowerShell выводит кириллицу вот таким образом:
<D0><93><D0><BE><D0> и тд.

в свойствах нашел пункт: "Текущая кодовая страница" 866 (OEM - русская)

можно ли как то настроить кодировку, что бы символы кириллицы отображались нормально?
Изображения
 
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2020, 17:21
Ответы с готовыми решениями:

Некорректная кодировка в переменных при запуске скрипта Powershell из CMD
Добрый день! Столкнулся с очень странной ситуацией. Получаю через curl данные с веб-сайта на русском языке. Если просто запустить в...

PowerShell vs PowerShell ISE
Скажите, пожалуйста, чем PowerShell отличается от PowerShell ISE. Спасибо.

Кодировка программы и кодировка базы данных
В общем в архиве стандартный пример и одна из программ по редактированию sqlite. Проблема заклчается в следующем: при редактировании...

5
 Аватар для volodin661
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,809
02.07.2020, 17:53
Кодовая страница должна в общем случае совпадать с кодировкой файла.
Но.
Но командлет Write-Host, к примеру, использует консольное API для вывода, которое автоматически подстраивается
под настройки кодовой страницы консоли.

Беспроблемный вариант для вывода на экран содержимого любых файлов при всех версиях powershell - использовать UTF-8 с BOM для кодировки исходного powershell-файла и командлет Write-Host для вывода в консоль.

и вот это тоже для сведения:
Кодировка в названиях файлов
1
1656 / 272 / 65
Регистрация: 03.06.2020
Сообщений: 686
03.07.2020, 08:10
А что показывает вывод:

PowerShell
1
2
[console]::OutputEncoding
[console]::InputEncoding
У меня везде (powershell, pwsh, powershell_ise) utf-8

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
BodyName          : utf-8
EncodingName      : Unicode (UTF-8)
HeaderName        : utf-8
WebName           : utf-8
WindowsCodePage   : 1200
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : True
IsMailNewsSave    : True
IsSingleByte      : False
EncoderFallback   : System.Text.EncoderReplacementFallback
DecoderFallback   : System.Text.DecoderReplacementFallback
IsReadOnly        : False
CodePage          : 65001
0
28 / 26 / 9
Регистрация: 10.08.2016
Сообщений: 162
16.07.2020, 18:58  [ТС]
lesser,
[console]::OutputEncoding
[console]::InputEncoding
выводят:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
IsSingleByte      : True
BodyName          : cp866
EncodingName      : Кириллица (DOS)
HeaderName        : cp866
WebName           : cp866
WindowsCodePage   : 1251
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : False
IsMailNewsSave    : False
EncoderFallback   : System.Text.InternalEncoderBestFitFallback
DecoderFallback   : System.Text.InternalDecoderBestFitFallback
IsReadOnly        : True
CodePage          : 866
я так понимаю мне нужно где то поставить юникод?
0
 Аватар для volodin661
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,809
16.07.2020, 19:22
Цитата Сообщение от unftech Посмотреть сообщение
мне нужно где то поставить юникод?
задача какая ?
0
1656 / 272 / 65
Регистрация: 03.06.2020
Сообщений: 686
16.07.2020, 20:58
Лучший ответ Сообщение было отмечено unftech как решение

Решение

Цитата Сообщение от unftech Посмотреть сообщение
я так понимаю мне нужно где то поставить юникод?
Можно тремя способами. Прописать в скрипте, в профиле и, если Windows-10, выставить постоянно для всех приложений.

1 и 2 способ (вроде с bom), прописать в консоли или в скрипте (на текущую сессию) или в $profile:

PowerShell
1
2
[console]::OutputEncoding = [System.Text.Encoding]::UTF8
$PSDefaultParameterValues['*:Encoding'] = 'UTF8'
3. Через intl.cpl -- UTF8 без bom во всей системе, включая cmd, notepad, powershell и прочее. Возможны проблемы с приложениями, которые не поддерживают юникод (лучше использовать английский интерфейс).

Добавлено через 18 минут
PS. Если выставить системную локаль UTF8 через intl.cpl, то лучше в $profile добавить

PowerShell
1
$PSDefaultParameterValues['*:Encoding'] = 'Default'
Тогда '>','>>','Out-File' и прочее тоже будет в UTF8, а не в UTF16.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.07.2020, 20:58
Помогаю со студенческими работами здесь

PowerShell
Надо привести пример использования командлета Disable-WSManCredSSP в PowerShell. Ввожу команду Disable-WSManCredSSP -Role Client и...

Powershell и AD
Доброго времени суток! Первый раз в жизни взялся за Powershell и столкнулся со следующей задачей: 1. Спрашивает у администратора...

Powershell Fun
Найдено на просторах сети. Вроде, безобидное ))) С первым разобрался, второе позаковырестее... ...

CheatEngine на PowerShell
Возможно ли на PowerShell написать аналог CheatEngine,с самыми основными функциями: Поиск значений типов: Int32,Float,Double,HEX в чужом...

Powershell + AutoIT
Коллеги, подскажите, как интегрировать команды AutoIT (функция send для эмуляции нажатия клавиш) в скрипт на Powershell?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru