首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询中的py2neo - UnicodeEncodeError

查询中的py2neo - UnicodeEncodeError
EN

Stack Overflow用户
提问于 2013-09-27 23:48:08
回答 2查看 526关注 0票数 0

我在使用py2neo查询neo4j时遇到错误,似乎无法解决它。我的代码:

代码语言:javascript
复制
data, metadata = cypher.execute(self._db, 'START s=node:pages(title="%s") MATCH (s)-[r]->(n) RETURN n.title' % topic)

和错误

代码语言:javascript
复制
  File "/usr/local/lib/python2.7/dist-packages/py2neo/cypher.py", line 50, in execute
    results = query.execute(**params or {})
  File "/usr/local/lib/python2.7/dist-packages/py2neo/neo4j.py", line 1011, in execute
    return CypherResults(self._execute(**params))
  File "/usr/local/lib/python2.7/dist-packages/py2neo/neo4j.py", line 1053, in __init__
    self._data = [record(*_hydrated(row)) for row in content["data"]]
  File "/usr/local/lib/python2.7/dist-packages/py2neo/neo4j.py", line 178, in _hydrated
    return type(data)([_hydrated(datum) for datum in data])
  File "/usr/local/lib/python2.7/dist-packages/py2neo/neo4j.py", line 177, in _hydrated
    elif is_collection(data):
  File "/usr/local/lib/python2.7/dist-packages/py2neo/util.py", line 134, in is_collection
    hasattr(None, obj)
None: 'ascii' codec can't encode character u'\xeb' in position 5: ordinal not in range(128)

有什么线索吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-09-28 06:35:35

这看起来可能是由查询结果数据中意外的字节序列或字符集触发的py2neo中的错误。您是否能够详细说明您希望它返回的数据,以及您是否使用UTF-8?

票数 1
EN

Stack Overflow用户

发布于 2013-09-28 04:13:44

我会说在topic中有一个非ASCII字节,这可能是导致它的原因。如果你有这个问题,你可以试着

代码语言:javascript
复制
data, metadata = cypher.execute(self._db, u'START s=node:pages(title="%s") MATCH (s)-[r]->(n) RETURN n.title' % topic)

而这实际上可能会解决你的问题。(我只想对此进行评论,但我不能,对不起。)如果这不起作用,请尝试:

代码语言:javascript
复制
(u'STATE s=node:...' ... % topic.decode('utf-8')).encode('utf-8')

这样就行了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19054980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档