Почему некорректно выводятся символы в Windows 10, при использовании subprocess?

Программирую на Mac OS и Linux. Но для моего проекта нужен Windows, так как пишу под эту ОС программу.

Использовал библиотеку subprocess, но почему-то здесь выводится непонятно что.

Помогите разобраться, в чем проблема.

import subprocess

'''Вызов команды/сохранение команды в переменную'''


def subprocess_command(*args):
    x = subprocess.check_output(*args, universal_newlines=True)
    return x


print(subprocess_command('ipconfig'))

Вывод программы:

введите сюда описание изображения

Как я понял, неправильно выводятся именно русские буквы. В других ОС такого не было.


Ответы (1 шт):

Автор решения: Bulat_Akhmadeev

В комментариях ответили.

Я не знал, что в Винде консоль работает в другой кодировке.

Вот исправленный вариант.

import subprocess

'''Вызов команды/сохранение команды в переменную'''


def subprocess_command(*args):
    x = subprocess.check_output(*args, universal_newlines=True, encoding='cp866')
    return x


print(subprocess_command('ipconfig'))
→ Ссылка