Hi there

We have a app that processes xml from a third party web service.

We were constantly getting decoding errors so we now use BeautifulSoup
to tidy the xml up before any processing.

best wishes

Ray

On 7 Sep, 10:03, Tracy Reed <tr...@ultraviolet.org> wrote:
> I have a Django app which processes emails. It is often handed emails
> with unicode characters in them. My understanding is that Python and
> Django handle unicode just fine and somewhat transparently. I was,
> however, told that I need to set my database tables to UTF-8
> encoding. I have done this. Yet I still frequently get errors such as
> this when my app encounters unicode:
>
>  Traceback (most recent call last):
>
>    File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line 
> 92, in get_response
>      response = callback(request, *callback_args, **callback_kwargs)
>
>    File "/var/spool/filter/email_archive/store_emails/views.py", line 84, in 
> mail_detail
>      return render_to_response('mail_detail.html', {'mail': ourmail,
>
>    File "/usr/lib/python2.4/site-packages/django/shortcuts/__init__.py", line 
> 20, in render_to_response
>      return HttpResponse(loader.render_to_string(*args, **kwargs), 
> **httpresponse_kwargs)
>
>    File "/usr/lib/python2.4/site-packages/django/template/loader.py", line 
> 108, in render_to_string
>      return t.render(context_instance)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 178, in render
>      return self.nodelist.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 779, in render
>      bits.append(self.render_node(node, context))
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 792, in render_node
>      return node.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/loader_tags.py", 
> line 97, in render
>      return compiled_parent.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 178, in render
>      return self.nodelist.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 779, in render
>      bits.append(self.render_node(node, context))
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 792, in render_node
>      return node.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/loader_tags.py", 
> line 24, in render
>      result = self.nodelist.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 779, in render
>      bits.append(self.render_node(node, context))
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 792, in render_node
>      return node.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/defaulttags.py", 
> line 243, in render
>      return self.nodelist_true.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 779, in render
>      bits.append(self.render_node(node, context))
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 792, in render_node
>      return node.render(context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 831, in render
>      return _render_value_in_context(output, context)
>
>    File "/usr/lib/python2.4/site-packages/django/template/__init__.py", line 
> 811, in _render_value_in_context
>      value = force_unicode(value)
>
>    File "/usr/lib/python2.4/site-packages/django/utils/encoding.py", line 92, 
> in force_unicode
>      raise DjangoUnicodeDecodeError(s, *e.args)
>
>  DjangoUnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in
>  position 1468: unexpected code byte. You passed in "\nGood
>  Day,\n\n\n\nWe offer a part time job on your computer.
>
> <text of spam containing unicode deleted>  
>
> There is a 0x92 in position 1468 just as the error says.
>
> Do I need to be doing a .encode('utf-8') before putting anything into
> the db? I cannot seem to get a clear answer on this. Some say no, some
> say yes. Do I need to do any decoding or anything on data pulled out
> of the db? I have been told that MySQL should be handling all of this
> for me.
>
> I have been banging my head on this particular error off and on for a
> couple of weeks and cannot seem to find the solution.
>
> Any pointers appreciated.
>
> --
> Tracy Reedhttp://tracyreed.org
>
>  application_pgp-signature_part
> < 1KViewDownload

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to