我尝试在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)
答案 0 :(得分:4)
NetBeans的控制台显然没有正确设置来处理打印非ASCII unicode字符串。
通常,您应该首先避免打印unicode字符串而不对其进行明确编码(例如u_str.encode(some_codec
)。
在您的具体情况下,您可能只是逃避:
print u'{0}'.format(s).encode('utf-8')
答案 1 :(得分:0)
您有一个要编码的unicode字符串。假设你想要使用UTF-8编码:
s.encode( 'UTF-8')