diff --git a/packages/markitdown/src/markitdown/__main__.py b/packages/markitdown/src/markitdown/__main__.py index 6085ad6bb..54ac54452 100644 --- a/packages/markitdown/src/markitdown/__main__.py +++ b/packages/markitdown/src/markitdown/__main__.py @@ -206,11 +206,11 @@ def _handle_output(args, result: DocumentConverterResult): with open(args.output, "w", encoding="utf-8") as f: f.write(result.markdown) else: - # Handle stdout encoding errors more gracefully + # Handle stdout encoding errors more gracefully, with fallback for + # cases where sys.stdout.encoding is None (e.g. redirected streams). + encoding = sys.stdout.encoding or "utf-8" print( - result.markdown.encode(sys.stdout.encoding, errors="replace").decode( - sys.stdout.encoding - ) + result.markdown.encode(encoding, errors="replace").decode(encoding) )