This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2014年04月07日 02:57 by LeslieK, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Messages (4) | |||
|---|---|---|---|
| msg215675 - (view) | Author: Leslie Klein (LeslieK) | Date: 2014年04月07日 02:57 | |
The console behaves by encoding a str (using the sys.getdefaultencoding()) and then decodes the bytes to a glyph for rendering. The decoder used is 'cp437'. Apparently, there is no way to override that! See ipython notebook for summary and example of the issue. nbviewer.ipython.org/gist/LeslieK/10013426 |
|||
| msg215693 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2014年04月07日 11:08 | |
Hi, when you say "The console" is the the old MS-DOS command ("Windows console") opened when you run the "cmd.exe" program? Or IDLE or another console?
For the Windows console, see the old issue #1602 which is not fixed yet.
On Windows, sys.stdout.encoding is your OEM code page, which is usually different than the ANSI code page (locale.getpreferredencoding()).
|
|||
| msg215937 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2014年04月11日 17:43 | |
You can change the code page of a Command Prompt window, before calling Python, with ...> chcp <code-page>. There is 'something' called cp65001 that is supposed to be a utf-8 codepage. Once can change to it, but it does not work right. This has been discussed on StackOverflow and elsewhere.
The Idle Shell, running on tkinter, handles everything in the BMP because tcl/tk is unicode (ucs-2) based. The characters that display properly depend on the font you select. On my machine, all but three of the following arbitrary codepoints display proper characters.
>>> print('\u1111\u2222\u3333\u4444\u5555\u6666\u7777\u8888\u9999\uaaaa\ubbbb\ucccc\udddd\ueeee')
ᄑ∢フィート䑄啕晦睷袈香ꪪ뮻쳌�
|
|||
| msg215945 - (view) | Author: Leslie Klein (LeslieK) | Date: 2014年04月11日 18:51 | |
I start ipython in Windows PowerShell. The "console" I am referring to is ipython running in WindowsPowerShell. I do not use the DOS cmd.exe When running ipython notebook from WindowsPowerShell -- no problem printing unicode. When running in PTVS (Python Tools for Visual Studio) debugger -- no problem printing unicode in Output window, or Interactive Python window. Problem does appear in Console window (which is the DOS window I believe). On Mon, Apr 7, 2014 at 7:08 AM, STINNER Victor <report@bugs.python.org>wrote: > > STINNER Victor added the comment: > > Hi, when you say "The console" is the the old MS-DOS command ("Windows > console") opened when you run the "cmd.exe" program? Or IDLE or another > console? > > For the Windows console, see the old issue #1602 which is not fixed yet. > > On Windows, sys.stdout.encoding is your OEM code page, which is usually > different than the ANSI code page (locale.getpreferredencoding()). > > ---------- > nosy: +haypo > > _______________________________________ > Python tracker <report@bugs.python.org> > <http://bugs.python.org/issue21164> > _______________________________________ > |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:01 | admin | set | github: 65363 |
| 2014年04月11日 18:51:09 | LeslieK | set | messages: + msg215945 |
| 2014年04月11日 17:43:23 | terry.reedy | set | status: open -> closed nosy: + terry.reedy messages: + msg215937 superseder: windows console doesn't print or input Unicode resolution: duplicate |
| 2014年04月07日 11:08:40 | vstinner | set | nosy:
+ vstinner messages: + msg215693 |
| 2014年04月07日 02:57:52 | LeslieK | create | |