Ok, j'ai recompilé Python 2.5.2 avec ncursesw (en modifiant setup.py et en forçant le link). Le code suivant fonctionne correctement :
Code :
- import curses, locale
- locale.setlocale(locale.LC_ALL, '')
- s = curses.initscr()
- s.addstr(u'\u00c5 U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE\n'.encode('utf-8') )
- s.addstr(u'\u00f5 U+00F5 LATIN SMALL LETTER O WITH TILDE\n'.encode('utf-8'))
- s.refresh()
- s.getstr()
- curses.endwin()
|
... mais j'aimerais anticiper la sortie de Python 3000 et là, rien à faire. Python 3.0a3 linke bien avec ncursesw mais le code suivant :
Code :
- import curses, locale
- locale.setlocale(locale.LC_ALL, '')
- s = curses.initscr()
- s.addstr('\u00c5 U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE\n' )
- s.addstr('\u00f5 U+00F5 LATIN SMALL LETTER O WITH TILDE\n' )
- s.refresh()
- s.getstr()
- curses.endwin()
|
me jette avec un TypeError : str sur le premier s.addstr.
Message édité par suizokukan le 23-03-2008 à 19:15:11
---------------
rule #1 : trust the python