在NetBeans 6.9中测试带Unicode字符串的Python控制台程序

0 投票
2 回答
1646 浏览
提问于 2025-04-16 02:41

我在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')

撰写回答