Stéphane Wirtel added the comment:
On OS X and with IDLE 3, I get utf-8 with sys.stdout.encoding, not sure,
but I think you have to check the default encoding on Windows.
What’s the result if you execute:
python3 -c 'import sys; print(sys.getdefaultencoding())'
--
nosy: +matrixise
irdb added the comment:
Although in Python 3 IDLE can indeed print UTF-8 characters. But still
sys.stdout.encoding == locale.getpreferredencoding() != 'utf-8'.
sys.stdout.encoding
'cp1256'
Shouldn't it be 'utf-8'?
--
___
Python tracker
irdb added the comment:
On cmd and powershell:
python -c import sys; print(sys.getdefaultencoding());
utf-8
python -c import sys; print(sys.stdout.encoding);
cp720
In IDLE:
import sys; print(sys.getdefaultencoding());
utf-8
sys.stdout.encoding
'cp1256'
--
Terry J. Reedy added the comment:
For the benefit of anyone finding this in a search, I fixed the title to match
the actual request. UTF-8 *is* already the default encoding in 3.x, and
upgrading to 3.x if at all possible is the best solution to unicode problems.
--
nosy: +terry.reedy