Yes, it does solve the problem. Compile python with ncursesw library. Btw Ubuntu 7 has it "out of the box".
> Hi All, > > Recently I ran into a problem with UTF-8 surrport when using curses > library in python 2.5 in Fedora 7. I found out that the program using > curses cannot print out unicode characters correctly on UTF-8 enabled > console. I googled around and got an impression that the reason for > this problem is that python is linked with libcurses library instead > of libcursesw. The latter one is said to be able to solve this > problem. Has anybody tried this? How to manually let python use > libcursesw? Thanks a lot! > > Here is a test program: > > #!/usr/bin/env python > # -*- coding: utf-8 -*- > import curses > def keyloop(stdscr): > # Clear the screen and display the menu of keys > stdscr_y, stdscr_x = stdscr.getmaxyx() > menu_y = (stdscr_y-3)-1 > str = u'This is my first curses python program. Press \'q\' to > exit. (¤£™)' > stdscr.addstr(menu_y, 4, str.encode('utf-8')) > xpos = stdscr_x / 2 > ypos = stdscr_y / 2 > while (1): > stdscr.move(ypos, xpos) > c = stdscr.getch() > if 0 < c < 256: > c = chr(c) > if c in 'Qq': break > else: pass > elif c == curses.KEY_UP and ypos > 0: ypos -= 1 > elif c == curses.KEY_DOWN and ypos < stdscr_y - 1: ypos += 1 > elif c == curses.KEY_LEFT and xpos > 0: xpos -= 1 > elif c == curses.KEY_RIGHT and xpos < stdscr_x - 1: xpos += 1 > else: pass > def main(stdscr): > keyloop(stdscr) > if __name__ == '__main__': > curses.wrapper(main) -- http://mail.python.org/mailman/listinfo/python-list