首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UnicodeEncodeError:灯泡和neo4j创建模型

UnicodeEncodeError:灯泡和neo4j创建模型
EN

Stack Overflow用户
提问于 2013-11-06 23:20:59
回答 2查看 226关注 0票数 2

当数据包含非ascii数据时,我尝试通过灯泡将数据添加到Neo4J时,我得到了Unicode错误。

以下代码失败:

代码语言:javascript
复制
from bulbs.model import Node
from bulbs.property import String
from bulbs.neo4jserver import Graph

class User(Node):
    element_type="user"
    name = String(nullable=False)

g = Graph()
g.add_proxy("users", User)

user_data = {u'name': u'Aname M\xf6ller'}

g.users.create(**user_data)

有一个UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 7: ordinal not in range(128)

错误发生在bulbs.utils.u函数中,通过codecs.unicode_escape_decode()

一些有希望的相关信息:

代码语言:javascript
复制
$>python -V
'2.7.3'

>>>type(user_data['name'])
type('unicode')

>>>import bulbs
>>>bulbs.__version__
'0.3'

所有字符串对象都保存为unicode的Neo4J docs 状态,那么为什么不接受我的unicode数据呢?我希望我只是错过了一些愚蠢的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-11 12:24:51

是的,这是个窃听器。它用灯泡固定: 0.3.23:

https://github.com/espeed/bulbs/commit/7f104cdbc30f27ea76b036cfa0d0a694f074153e

票数 1
EN

Stack Overflow用户

发布于 2013-11-07 23:53:17

在Python和unicode上刷新了自己之后,我解决了这个问题,不过只能通过尝试、捕捉并将问题数据编码到'utf-8‘的方法来解决问题。这不是最优雅的解决方案,但下面的代码似乎适用于我。

代码语言:javascript
复制
from bulbs.model import Node
from bulbs.property import String
from bulbs.neo4jserver import Graph

class User(Node):
    element_type="user"
    name = String(nullable=False)

g = Graph()
g.add_proxy("users", User)

user_data = {u'name': u'Aname M\xf6ller'}

try:
    g.users.create(**user_data)
except UnicodeEncodeError:
    for k, v in user_data.iteritems():
        try:
            user_data[k] = unicode.encode(v, 'utf-8')
        except TypeError:
            # Fails for non string values
            pass
    g.users.create(**user_data)

这是我唯一的问题。如果bulbs记录器是活动的,那么在第一次调用create()时会记录带有回溯的错误消息。不是破坏交易,只是有点烦人。

还没有在Python 3上尝试过这一点,任何一个人都有什么需要解决的吗?

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

https://stackoverflow.com/questions/19824952

复制
相关文章

相似问题

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