On Wed, Dec 3, 2008 at 10:14 AM, Alex Jonsson <[EMAIL PROTECTED]>wrote:

>
> Guys, I'm in trouble.
>
> I'm using the django-tagging application with a Swedish news
> application. It generally works, but there's one big problem which has
> taken me forever to solve.
>
> I've concluded that the issue lies in the
> http://django-tagging.googlecode.com/svn/trunk/tagging/models.py file.
> If you look at the __unicode__ method all the way down in the bottom,
> it refers to self.object and self.tag. The self.object in my case is
> an Article object which __unicode__ method returns the the title of
> the Article in a u'%s' % (self.title) format.
>
> The issue is that when this title includes "special" characters (åäö),
> it breaks in the admin and gives me an error which looks like this:
>
> DjangoUnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in
> position 0: ordinal not in range(128). You passed in <TaggedItem: [Bad
> Unicode data]> (<class 'tagging.models.TaggedItem'>)
>
> Another strange thing is that it works on my local machine, but not on
> the live server. The local server runs Python 2.5, whereas the live
> goes for 2.3.
>

I think you are hitting a Python 2.3 unicode bug.  Something like:

u'%s' % obj

should call obj's unicode method, if it exists.  However in Python 2.3 obj's
str method is called instead.  The common workaround for this is to write
instead:

u'%s' % unicode(obj)

It sounds like one or more of the django-tagging model __unicode__ methods
needs to employ this workaround in order to work properly under Python 2.3.

Karen

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

Reply via email to