2016-04-05 96 views
0

你好我正在做一个简单的Curses UI应用程序我有一切工作。我想在我的进度条打印此█但是当我做我得到这个错误Python诅咒UI印刷Unicode

File "simple.py", line 100, in <module>                  │ 
│   main()                │ 
│   File "simple.py", line 55, in main       │ 
│   show_progress()  │ 
│   File "simple.py", line 83, in show_progress           │ 
│   win.addstr(1,pos,u"\u2588")   │ 
│UnicodeEncodeError: 'ascii' codec can't encode character u'\u2588' in position 0: ordinal not in range(128)  

我知道这是一个可怕的错误,但它是它是如何打印出

这里是代码被打印出来

win.addstr(1,pos,u"\u2588") 
+0

您使用的是什么版本的Python? – snakecharmerb

+0

我使用2.7.10 – 112madgamer

回答

1

的Python 2不明白Unicode的 - 这只能理解字节...

所以端口Python3(易除非你正在做网络编程),或开始做

bytes(unicode_string.encode('utf-8')) 

无处不在您的代码中。

+0

谢谢你这个工作,我用2to3转换代码,它运行完美 – 112madgamer