1

rdflib 名前空間で Unicode アイテムを作成中に Unicode デコード エラーが発生しました

$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from rdflib.graph import ConjunctiveGraph
>>> from rdflib import Namespace, BNode, Literal, RDF, URIRef
***>>> rdfsNS = Namespace("http://www.w3.org/2000/01/rdf-schema#")
>>> item = "Petra Němcová"
>>> i = rdfsNS[item]***
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/rdflib/namespace.py", line 88, in __getitem__
    return self.term(key)
  File "/usr/local/lib/python2.7/dist-packages/rdflib/namespace.py", line 85, in term
    return URIRef(self + name)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 7: ordinal not in range(128)

この問題の解決にご協力ください。

4

1 に答える 1

2

私はrdflibを知りませんが、あなたが書くとき:

item = "Petra Němcová"

通常の文字列オブジェクトを作成しています-次のようにユニコードを定義してみてください:

item = u"Petra Němcová"

コメントのように - すでに文字列として項目があり、そのエンコーディングがわかっている場合は、次を使用します (エンコーディングが utf-8 の場合):

item = item.decode('utf-8')
于 2013-03-29T22:08:37.323 に答える