On 8/3/2014 4:25 PM, Andrew Berg wrote:
On 2014.08.03 18:08, Chris Angelico wrote:
The best way to do it is to use the Unicode codepage, but cmd.exe just
plain has issues. There are underlying Windows APIs for displaying
text that have problems with astral characters (I think that's what it
is), so ultimately, you're largely stuck.
That is not quite true. The terminal has these issues, not the shell. Using
cp65001 does make Unicode in a Windows terminal possible, but using a better
terminal[1] makes it almost perfect (my experience has been that input can be
difficult, but output works well). I personally have used an IRC bot written in
Python with logging output containing Unicode characters that display just fine
(both locally and over SSH).

[1] I recommend ConEmu: https://code.google.com/p/conemu-maximus5/
I will be reading more about conemu, thanks for the reference.

http://bugs.python.org/issue1602 describes 7 years worth of discussion of the problems with the console/terminal used by default by cmd.exe and other Windows command line programs, versus Python.

The recent insights in the last couple weeks have given me hope that Python might be able to be fixed to work properly with the default Windows console at long last... at least for non-astral characters (I'm not sure whether or not the Windows console supports non-BMP characters).

For this OP problem, it is mostly a matter of finding a fixed-width font that supports the box drawing characters and the Polish characters that are desired. Lucida Console has a fair repertoire, and Consolas has a fair repertoire, in the fixed-width font arena. There may be others, documented on Polish language web sites that I wouldn't know about, and I don't know enough Polish to be sure those I mentioned suffice.

And then, the workarounds mentioned in the above-referenced bug or on the GitHub or PyPi sites mentioned should provide any needed additional solutions... and hopefully something along this line finally integrated into Python so that it can finally be said that Python supports Unicode properly on Windows (or at least as properly as Windows allows... but it is pretty clear that Windows supports Unicode, even for the console, using different APIs that Python is presently using, and that mismatch between APIs is really the source of the problems with using Unicode in Python on Windows).

Glenn
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to