### UTF-8 error in macOS version WingIDE

65
views
1
18 days ago by
Hi,
I'm trying to read this utf-8 file
in this Python script:
import csv

with open(csv_filename) as csv_fd:
print(row)​

But get an error in WingIDE (macOS):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0]builtins.UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 227: ordinal not in range(128)

There are "Unicode UTF-8" in "Preferences - Debugger - I/O" ("Encoding" fields).

If I run this script in Terminal there is no such kind of error.
There is no error if I run this script in Windows version of WingIDE.

Thanks!

Community: Wing Python IDE

4
18 days ago by
This has something to do with the default encoding that is set in your environments (which explains why it might work when run via other methods)

hmm, looks like you're using Python 3 (at least through Wing).  I'd bet that

with open(csv_filename, encoding='utf-8') as csv_fd:

would work (assuming the file is encoded as utf-8)
I think this is correct and best to always be explicit about encodings to avoid things like this.  One thing to note is that the Debugger > I/O Encoding is used only for locally launched processes.  If you're debugging on a remote host then the remote host configuration sets the I/O encoding instead under its Options tab.  This is because the correct encoding to use by default varies by OS.
written 18 days ago by Wingware Support
0
18 days ago by
Thank you so much! It works