cmd.exe on WIndows - problem with displaying some Unicode characters
Glenn Linderman
v+python at g.nevcal.com
Sun Aug 3 20:17:59 EDT 2014
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140803/0661683b/attachment.html>
More information about the Python-list
mailing list