From efd3b244e1459d78161e2a36538b561624a094b9 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Sat, 21 Mar 2020 13:27:46 +0200 Subject: [PATCH] Force PIPE reader to UTF-8 on Windows // Issue #3417 --- platformio/proc.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platformio/proc.py b/platformio/proc.py index 80e50201..1937b257 100644 --- a/platformio/proc.py +++ b/platformio/proc.py @@ -20,6 +20,7 @@ from threading import Thread from platformio import exception from platformio.compat import ( + PY2, WINDOWS, get_filesystem_encoding, get_locale_encoding, @@ -30,7 +31,10 @@ from platformio.compat import ( class AsyncPipeBase(object): def __init__(self): self._fd_read, self._fd_write = os.pipe() - self._pipe_reader = os.fdopen(self._fd_read) + if PY2: + self._pipe_reader = os.fdopen(self._fd_read) + else: + self._pipe_reader = os.fdopen(self._fd_read, encoding="utf-8") self._buffer = "" self._thread = Thread(target=self.run) self._thread.start()