在html中打印时获取unicode错误

在html中打印时获取unicode错误,unicode,flask,Unicode,Flask,在html烧瓶中打印时获取unnicode错误。 这是我的密码 {% if(backpaths) %} {% for n in backpaths:%} {% print '%s'%n %} </br> {% endfor %} {% endif %} 这是回溯 (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in _

在html烧瓶中打印时获取unnicode错误。 这是我的密码

{% if(backpaths) %}
{%   for n in backpaths:%}
{%      print '%s'%n %}
</br>
{%   endfor %}
{% endif %}
这是回溯

(most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/ganchimeg/FlaskApp/FlaskApp/__init__.py", line 125, in homepage
    return render_template('index.html', backpaths=successPaths)
  File "/usr/local/lib/python2.7/dist-packages/flask/templating.py", line 128, in render_template
    context, ctx.app)
  File "/usr/local/lib/python2.7/dist-packages/flask/templating.py", line 110, in _render
    rv = template.render(context)
  File "/usr/local/lib/python2.7/dist-packages/jinja2/environment.py", line 969, in render
    return self.environment.handle_exception(exc_info, True)
  File "/usr/local/lib/python2.7/dist-packages/jinja2/environment.py", line 742, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/ganchimeg/FlaskApp/FlaskApp/templates/index.html", line 31, in top-level template code
    {{      n }}
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 16: ordinal not in range(128)

你没有Unicode字符串,你有字节字符串。Python尝试使用标准ASCII编解码器隐式地解码这些代码。显式解码:

{% if(backpaths) %}
{%   for n in backpaths:%}
{{       n.decode('utf8') }}
</br>
{%   endfor %}
{% endif %}
{%if(反向路径)%}
{%n在反向路径中:%}
{{n.decode('utf8')}

{%endfor%} {%endif%}

如果您将
反向路径
传递到已解码的模板中会更好。

Jinja中没有
打印
。只需使用
{{n}}
将值包含在模板中。如果出现错误,请提供完整的回溯。好的。但是当使用{{n}}时仍然得到相同的错误,然后共享该错误。您在
反向路径中有什么类型的数据?它们可能是字节字符串吗?如果用python打印反向路径this@GanchimegL当前位置我怀疑这将是完全相同的错误。当您现在以UTF-8进行解码时,您确定仍然会收到ASCII的解码错误吗?您是对的。我不必使用unicode字符串。我修好了。
{% if(backpaths) %}
{%   for n in backpaths:%}
{{       n.decode('utf8') }}
</br>
{%   endfor %}
{% endif %}