Widzę mnóstwo pytań, które są z tym związane, ale nie mogę znaleźć rozwiązania.UnicodeEncodeError: Kodek 'ascii' nie może kodować znaków w pozycji 1-4: porządkowy nie w zakresie (128)
Jest to na Django 1.4 i Pythonie 2.7.
data
to słownik zawierający znaki UTF8. Zobacz tę linię:
render_to_response('application/app.html', data, context_instance=RequestContext(request))
Szablon pobiera renderowane że wyprowadza wartości z tego data
.
Dlaczego eksploduje i co mogę zrobić, aby to naprawić?
EDYTOWANIE: Po zakończeniu kopania część tego data
zawiera lxml.objectify.ObjectifiedElement
. Zasadniczo element XML, który można zapytać jak zwykły słownik. Wartości, które wytwarza się wydawać odpowiednie ciągi Unicode, takie jak ten: u'\xae\u2020\xa5\xa8\u02c6\xf8'
Oto pełna StackTrace:
File "/web/mysite/env/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/web/mysite/current/api/views.py", line 163, in invoice
return render_to_response('application/app.html', data, context_instance=RequestContext(request))
File "/web/mysite/env/lib/python2.7/site-packages/django/shortcuts/__init__.py", line 20, in render_to_response
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/loader.py", line 176, in render_to_string
return t.render(context_instance)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 140, in render
return self._render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 823, in render
bit = self.render_node(node, context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
return node.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/loader_tags.py", line 123, in render
return compiled_parent._render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 823, in render
bit = self.render_node(node, context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
return node.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 823, in render
bit = self.render_node(node, context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
return node.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/defaulttags.py", line 281, in render
return nodelist.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 823, in render
bit = self.render_node(node, context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
return node.render(context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 880, in render
return _render_value_in_context(output, context)
File "/web/mysite/env/lib/python2.7/site-packages/django/template/base.py", line 858, in _render_value_in_context
value = force_unicode(value)
File "/web/mysite/env/lib/python2.7/site-packages/django/utils/encoding.py", line 74, in force_unicode
s = unicode(str(s), encoding, errors)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-4: ordinal not in range(128)
Plik "/web/mysite/current/api/views.py", linia 163, w fakturze –