python-var-dump
python-var-dump copied to clipboard
var_dump('\x9F'); crash on Windows on stdout-to-file redirection
when stdout is redirected to a file,
from var_dump import var_dump
var_dump('\x9F');
will crash on Windows. Not sure why, and does not happen on Linux. reproducing the issue in cmd:
C:\>Python --version
Python 3.10.4
C:\>type crash.py
from var_dump import var_dump
var_dump('\x9F')
C:\>Python crash.py
#0 str(1) ""
C:\>Python crash.py > stdoud_to_file.txt
Traceback (most recent call last):
File "C:\crash.py", line 2, in <module>
var_dump('\x9F')
File "C:\Python\Python310\lib\site-packages\var_dump\_var_dump.py", line 109, in var_dump
dump(x, 0, i, '', object, True)
File "C:\Python\Python310\lib\site-packages\var_dump\_var_dump.py", line 76, in dump
r += display(o, space, num, key, typ, proret)
File "C:\Python\Python310\lib\site-packages\var_dump\_var_dump.py", line 68, in display
print(st % tuple(l))
File "C:\Python\Python310\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\x9f' in position 11: character maps to <undefined>
may also happen in VSCode PowerShell terminal when stdout is not redirected to anything, but it doesn't seem to be consistent o.0
proposed fix: #20