在NetBeans 6.9中测试带Unicode字符串的Python控制台程序
我在NetBeans 6.9中尝试运行以下简单代码:
s = u"\u00B0 Celsius"
print u"{0}".format(s)
但是我遇到了以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 0: ordinal not in range(128)
2 个回答
0
你有一个Unicode字符串,想要把它编码。如果你想用UTF-8编码,可以这样做:
s.encode('utf-8')
4
NetBeans的控制台似乎没有正确设置,无法处理打印非ASCII的unicode字符串。
一般来说,你应该避免直接打印unicode字符串,而是要先进行编码处理(比如先用u_str.encode(some_codec
来编码)。
在你的具体情况下,你可能只需要这样做:
print u'{0}'.format(s).encode('utf-8')