Я использую Google AppEngine, Python 2.7 и шаблон Jinja2. Я пробовал этот https://en.wikipedia.org/wiki/Copyleft#Symbol из Википедии. Как html он отлично печатает в моем браузере. Но когда я вставляю его в шаблон jinja2 и тестирую его в своем приложении GoogleAppEngine, он дает 500 Server Error. Вот снимок экрана трассировки стека, что я попал в бобине консоли:Как отобразить символ copyleft?
ERROR 2013-10-27 18:06:45,460 mycs253app.py:245] []
ERROR 2013-10-27 18:06:45,648 webapp2.py:1528] 'utf8' codec can't decode byte 0xa9 in position 1290: invalid start byte
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__
rv = self.handle_exception(request, response, e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__
rv = self.router.dispatch(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__
return handler.dispatch()
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "C:\Users\duck\Documents\GitHub\mycs253app\mycs253app.py", line 294, in get
self.render_front_page(page_no)
File "C:\Users\duck\Documents\GitHub\mycs253app\mycs253app.py", line 289, in render_front_page
self.response.out.write(template.render(page))
File "C:\Program Files (x86)\Google\google_appengine\lib\jinja2-2.6\jinja2\environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "C:\Users\duck\Documents\GitHub\mycs253app\templates\main.html", line 1, in top-level template code
{% extends "base.html" %}
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa9 in position 1290: invalid start byte
ERROR 2013-10-27 18:06:45,677 wsgi.py:278]
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 266, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1519, in __call__
response = self._internal_error(e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__
rv = self.handle_exception(request, response, e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__
rv = self.router.dispatch(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__
return handler.dispatch()
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "C:\Users\duck\Documents\GitHub\mycs253app\mycs253app.py", line 294, in get
self.render_front_page(page_no)
File "C:\Users\duck\Documents\GitHub\mycs253app\mycs253app.py", line 289, in render_front_page
self.response.out.write(template.render(page))
File "C:\Program Files (x86)\Google\google_appengine\lib\jinja2-2.6\jinja2\environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "C:\Users\duck\Documents\GitHub\mycs253app\templates\main.html", line 1, in top-level template code
{% extends "base.html" %}
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa9 in position 1290: invalid start byte
INFO 2013-10-27 23:36:45,926 module.py:608] default: "GET/HTTP/1.1" 500 -
здесь это шаблон, который вызывает ошибку (Копилефт в конце):
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="/css/main.css" />
<title>My Blog</title>
</head>
<body>
<a href="/" class="main-title">
My Blog
</a>
<div class="login-area">
{% if user %}
<a class="login-link" href="/newpost" >newpost</a>
{{user.username}} (<a class="login-link" href="/logout">logout</a>)
{% else %}
<a class="login-link" href="/login">login</a>
|
<a class="login-link" href="/signup">signup</a>
{% endif %}
</div>
<div id="content">
{% block content %}
{% endblock %}
</div>
<!--Copyleft-->
<div style = "color: #333; font-size: 14px" >
<!--[if lte IE 8]><span style="filter: FlipH; -ms-filter: "FlipH"; display: inline-block;"><![endif]-->
<span style="-moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); display: inline-block;">
©
</span>
<!--[if lte IE 8]></span><![endif]-->
Chintan Pokhrel
</div>
</body>
</html>
Кроме того, появляется символ? (знак вопроса), когда я пытаюсь напечатать ɔ (U + 0254), но ошибки нет.
Пожалуйста, скопируйте и вставьте ошибки, не размещать фотографии там о. – tacaswell
Спасибо, только что сделал – Chintan
Можете ли вы обновить вопрос с помощью соответствующей части вашего шаблона? –