13

我在使用 Unicode 的 Python 中遇到问题。我需要绘制一个带有 Unicode 注释的图表。根据教程,我应该只用 Unicode 创建我的字符串。我这样做:

annotation = u"%s has %s rev"%(art.title, len(art.revisions))

art.title里面有Unicode字符。有时该代码有效,有时它会给我以下错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19: ordinal not in range(128)

我该如何解决?

编辑:我在“注释”行之后有错误:

  File "script.py", line 195, in test_trie
annotation = u"%s has %s rev"%(art.title, len(art.revisions))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19: ordinal not in range(128)
4

2 回答 2

8

我认为这取决于您的标题是否包含 unicode 字符。

我会尝试添加art.title.encode("utf-8")orart.title.decode("utf-8")看看它是如何工作的

于 2012-04-20T00:39:57.897 回答
4

您有两个选择:要么使用art.title.decode('utf_8'),要么使用 UTF-8 编码创建一个新的 Unicode 字符串unicode(art.title, 'utf_8')

于 2012-04-20T03:45:50.133 回答