python-var-dump icon indicating copy to clipboard operation
python-var-dump copied to clipboard

var_dump('\x9F'); crash on Windows on stdout-to-file redirection

Open divinity76 opened this issue 3 years ago • 2 comments

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>

divinity76 avatar Sep 18 '22 18:09 divinity76

may also happen in VSCode PowerShell terminal when stdout is not redirected to anything, but it doesn't seem to be consistent o.0

divinity76 avatar Sep 18 '22 18:09 divinity76

proposed fix: #20

divinity76 avatar Sep 19 '22 12:09 divinity76