python可以';不能从sqlalchemy获得utf-8字符串?
我正在尝试使用SQLAlchemy获取一些字符串python可以';不能从sqlalchemy获得utf-8字符串?,python,sqlalchemy,flask-sqlalchemy,Python,Sqlalchemy,Flask Sqlalchemy,我正在尝试使用SQLAlchemy获取一些字符串 tags = db.session.query(Tag.tag_name).order_by(Tag.tag_id).all() db是我的sqlite数据库tag\u name实体是VARCHAR 当我调试程序时,它显示tags变量为 {list}[(u'python',),(u'\u7f51',)] 这里的\u7f51是一个汉字 由于该项目基于Flask框架,我使用Jinja2在tags中显示每个标记 {% for tag in tags
tags = db.session.query(Tag.tag_name).order_by(Tag.tag_id).all()
db
是我的sqlite数据库tag\u name
实体是VARCHAR
当我调试程序时,它显示tags变量为
{list}[(u'python',),(u'\u7f51',)]
这里的\u7f51
是一个汉字
由于该项目基于Flask
框架,我使用Jinja2
在tags
中显示每个标记
{% for tag in tags %}
<li><a href="#">{{tag}}</a></li>
{% endfor %}
{%用于标记%中的标记}
{%endfor%}
在网页上,它显示的内容与(u'python',)
一模一样。
我希望网页显示类似于python的东西,但我不知道如何处理这个奇怪的列表对象。我该怎么办?这应该是非常直截了当的。查询结果集以
tuple
格式获取。所以你有一个元组列表。对于非utf8字符,使用encode
函数并使用列表理解生成字符串列表
您可以这样做:
tags = [r(0).encode('utf8') for r in tags]
我很抱歉。这不是重点。问题在于,在list
标记中,每个元组都属于结果类,每个元组的格式都是(u'xxx')
。我不知道如何去掉括号。@PenguinGoHack:我已经根据你的评论编辑了我的答案。返回TypeError:“result”对象不可调用
每个元组都属于类result
。嗨,我通过将HTML更改为{tag[0]}
解决了这个问题。无论如何,谢谢你的帮助。