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