From 9de7297d38da8f931235bf1a5abe887dbad460f6 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 10 Jun 2019 19:44:18 +0300 Subject: [PATCH] Fix "UnicodeEncodeError: 'ascii' codec can't encode characters" // Resolve #2644 --- platformio/commands/run/processor.py | 2 +- platformio/compat.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/platformio/commands/run/processor.py b/platformio/commands/run/processor.py index 35150c25..2fbba4be 100644 --- a/platformio/commands/run/processor.py +++ b/platformio/commands/run/processor.py @@ -35,7 +35,7 @@ class EnvironmentProcessor(object): self, cmd_ctx, name, config, targets, upload_port, silent, verbose): self.cmd_ctx = cmd_ctx - self.name = str(name) + self.name = name self.config = config self.targets = [str(t) for t in targets] self.upload_port = upload_port diff --git a/platformio/compat.py b/platformio/compat.py index 53ba736a..4aad4ea2 100644 --- a/platformio/compat.py +++ b/platformio/compat.py @@ -47,7 +47,9 @@ if PY2: def hashlib_encode_data(data): if is_bytes(data): return data - if not isinstance(data, string_types): + if isinstance(data, unicode): + data = data.encode(get_filesystem_encoding()) + elif not isinstance(data, string_types): data = str(data) return data