On Aug 20, 6:12 pm, Iñigo Serna <inigose...@gmail.com> wrote: > Hi again, > > 2009/8/20 Iñigo Serna <inigose...@gmail.com> > > I have the same problem mentioned > > inhttp://groups.google.com/group/comp.lang.python/browse_thread/thread/...some > > months ago. > > > Python 2.6 program which usesncursesmodule in a terminal configured to use > > UTF-8 encoding. > > > When trying to get input from keyboard, a non-ascii character (like ç) is > > returned as 2 integers < 255, needing 2 calls to getch method to get both. > > These two integers \xc3 \xa7 forms the utf-8 encoded representation of ç > > character. > > >ncursesget_wch documentation states the function should return an unique > >integer > 255 with the ordinal representation of that unicode char encoded > >in UTF-8, \xc3a7. > > Answering myself, I've copied at the bottom of this email a working > solution, but the question still remains: why win.getch() doesn't > return the correct value?
The code looks consistent with the curses functions... > Kind regards, > Iñigo Serna > > ###################################################################### > # test.py > import curses > > import locale > locale.setlocale(locale.LC_ALL, '') > print locale.getpreferredencoding() > > def get_char(win): > def get_check_next_byte(): > c = win.getch() You're using "getch", not "get_wch" (Python's ncurses binding may/may not have the latter). curses getch returns 8-bit values, get_wch would return wider values. -- http://mail.python.org/mailman/listinfo/python-list