From 28a0d8299526cf22c1b46bb64157dfe4d90e6187 Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Wed, 8 Feb 2023 11:08:05 -0800 Subject: [PATCH] Force Python sub-process to run with UTF-8 encoding Fix #1000 --- sdk/python/packages/flet/src/flet/cli/commands/run.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/cli/commands/run.py b/sdk/python/packages/flet/src/flet/cli/commands/run.py index d66e96546..4c6d52af9 100644 --- a/sdk/python/packages/flet/src/flet/cli/commands/run.py +++ b/sdk/python/packages/flet/src/flet/cli/commands/run.py @@ -142,7 +142,11 @@ def start_process(self): p_env["FLET_SERVER_PORT"] = str(self.port) p_env["FLET_DISPLAY_URL_PREFIX"] = self.page_url_prefix - self.p = subprocess.Popen(self.args, env=p_env, stdout=subprocess.PIPE) + p_env["PYTHONIOENCODING"] = "utf-8" + + self.p = subprocess.Popen( + self.args, env=p_env, stdout=subprocess.PIPE, encoding="utf-8" + ) self.is_running = True th = threading.Thread(target=self.print_output, args=[self.p], daemon=True) th.start() @@ -162,7 +166,7 @@ def print_output(self, p): line = p.stdout.readline() if not line: break - line = line.decode("utf-8").rstrip("\r\n") + line = line.rstrip("\r\n") if line.startswith(self.page_url_prefix): if not self.page_url: self.page_url = line[len(self.page_url_prefix) + 1 :]