diff --git a/main.py b/main.py index 23d934d..61e0593 100644 --- a/main.py +++ b/main.py @@ -17,6 +17,17 @@ # 详细许可条款请参阅项目根目录下的LICENSE文件。 # 使用本代码即表示您同意遵守上述原则和LICENSE中的所有条款。 +import sys +import io + +# Force UTF-8 encoding for stdout/stderr to prevent encoding errors +# when outputting Chinese characters in non-UTF-8 terminals +if sys.stdout and hasattr(sys.stdout, 'buffer'): + if sys.stdout.encoding and sys.stdout.encoding.lower() != 'utf-8': + sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') +if sys.stderr and hasattr(sys.stderr, 'buffer'): + if sys.stderr.encoding and sys.stderr.encoding.lower() != 'utf-8': + sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8', errors='replace') import asyncio from typing import Optional, Type