fix: handle UnicodeEncodeError in console output with ASCII fallback

This commit is contained in:
Paul Gauthier (aider) 2025-01-04 11:03:38 -08:00
parent c5919f0c15
commit 44d36f140a

View file

@ -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