Skip to content

python -m pdb <utf-8 encoding file.py> return UnicodeDecodeError on Windows 8.1/10 (code page 936) #103578

@xond

Description

@xond

how to replicate the issue

Python 3.11.3/3.11.2/3.11.1/3.11.0 (python-3.11.3-amd64.exe etc)
Microsoft Windows [Version 10.0.19044.2130] (Active code page: 936)

tmp.py

#coding:utf-8 print("中文")

python -m pdb tmp.py

Traceback (most recent call last): File "C:\Users\xond\AppData\Local\Programs\Python\Python311\Lib\pdb.py", line 1774, in main pdb._run(target) File "C:\Users\xond\AppData\Local\Programs\Python\Python311\Lib\pdb.py", line 1652, in _run self.run(target.code) ^^^^^^^^^^^ File "C:\Users\xond\AppData\Local\Programs\Python\Python311\Lib\pdb.py", line 167, in code return f"exec(compile({fp.read()!r}, {self!r}, 'exec'))" ^^^^^^^^^ UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 28: illegal multibyte sequence Uncaught exception. Entering post mortem debugging Running 'cont' or 'step' will restart the program > c:\users\xond\appdata\local\programs\python\python311\lib\pdb.py(167)code() -> return f"exec(compile({fp.read()!r}, {self!r}, 'exec'))"

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.11only security fixes3.12only security fixes

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions