guitarjedi
@guitarjedi

Как задать кодировку subprocess.Popen?

Добрый день! Из под Винды, отправляю csv'ху в стороннее приложение, при помощи:

proc = subprocess.Popen(['powershell', 'cat ' + confCSV + ' | clickhouse-cli --host=' + confClick + ' --query="INSERT INTO ' + confDb + ' FORMAT CSV"'])
proc.wait()


Все хорошо, но данные прилетают не в UTF-8 а в виде ???????????, должна быть кириллица. После изменения в powershell кодировки на chcp 65001 или chcp850, на прямую из powershell(Если выполнить команду из скрипта в консоли powershell) данные улетают нормально, через subprocess.Popen из скрипта так же льются, не пойми как, в виде вопросов. Помогите пожалуйста.
  • Вопрос задан
  • 483 просмотра
Пригласить эксперта
Ответы на вопрос 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Добавить первой командой в PoSH
[Console]::OutputEncoding = New-Object -typename System.Text.UTF8Encoding;
или & "$env:windir\system32\chcp.com" 65001;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы