Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python可以';不能从sqlalchemy获得utf-8字符串?_Python_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

python可以';不能从sqlalchemy获得utf-8字符串?

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

我正在尝试使用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 %}
<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]}
    解决了这个问题。无论如何,谢谢你的帮助。