From 44d36f140ab359aa2ad22715a726031dd14e1570 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 4 Jan 2025 11:03:38 -0800 Subject: [PATCH] fix: handle UnicodeEncodeError in console output with ASCII fallback --- aider/io.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/aider/io.py b/aider/io.py index ea9fd9a2b..287c70b5e 100644 --- a/aider/io.py +++ b/aider/io.py @@ -804,9 +804,14 @@ class InputOutput: hist = message.strip() if strip else message self.append_chat_history(hist, linebreak=True, blockquote=True) - message = Text(message) - style = dict(style=color) if self.pretty and color else dict() - self.console.print(message, **style) + try: + message = Text(message) + style = dict(style=color) if self.pretty and color else dict() + self.console.print(message, **style) + except UnicodeEncodeError: + # Fallback to ASCII-safe output + message = message.encode('ascii', errors='replace').decode('ascii') + self.console.print(message, **style) def tool_error(self, message="", strip=True): self.num_error_outputs += 1