Вопросы вместо юникода в консоли
На этих двух скриншотах powershell в PyCharm и обычный. Проблема что обычный не прогружает символы юникода правильно
Пробовал менять кодировку через $PSDefaultParameterValues['Out-File:Encoding'] = 'utf8', но не помогло
С чем могло бы быть связано?
Ответы (1 шт):
$OutputEncoding указывает на то что вывод происходит в кодировке windows-1252 (WindowsCodePage: 1252) а не в unicode она называется западноевропейская или latin1.
А консоль работает с кодовой страницей 866 которая схожа с Koi8-r где все специфические европейские символы во второй половине заменены на кириллицу. Проще всего установить chcp 1252 или 850, тогда консоль будет работать на западноевропейской однобайтовой кодировке как и вывод в неё. Но могут быть проблемы с русскими символами. Второй вариант это настроить вывод в Pycharm и установить там cp1251
Но можно попробовать установить utf8 и там и там
Для настройки вывода Pycharm https://www.jetbrains.com/help/pycharm/working-with-consoles.html
On the Help menu, click Edit Custom VM Options.
Add the -Dconsole.encoding option and set the value to the necessary encoding. For
example: -Dconsole.encoding=UTF-8
Restart PyCharm.
Для консоли
chcp 65001 //utf8
chcp 850 //западноевропейская DOS
chcp 1252 //западноевропейская ANSI
chcp 866 //кириллическая DOS
chcp 1251 //кириллическая ANSI
Точно не скажу будет ли utf8 адекватно работать в PS сам мучаюсь пишу для CLI PHP модули. Браузер, андроид и мускул воспринимают utf8 как надо а вот вывод в консоль кривой что только не пытался сделать chcp 65001 не помогает приходится вывод для консоли вручную конвертировать, благо в php это легко $str= iconv('utf-8', 'cp866', $str);

