On Fri, 2007-10-12 at 10:10 +0200, Michal Konvalinka wrote:
> Hi group,
> I have a problem with this variable in
> django.contrib.admin.templates.admin.change_form.html
> {{ original|truncatewords:"18"|escape }}
> 
> I'm getting this error:
> 
> UnicodeEncodeError at /admin/player/playerprofile/5/
> 'ascii' codec can't encode characters in position 3-4: ordinal not in 
> range(128)
> 
> Unicode error hint
> The string that could not be encoded/decoded was: Tomáš
> 
> Template error
> In template 
> /develop/projects/test/django/django/contrib/admin/templates/admin/change_form.html,
> error at line 14
> 
> When I comment the variable, it works.
> {# { original|truncatewords:"18"|escape } #}
> 
> Therefore I'm sure that problem is in the variable {{ original }}
> 
> Where can I get more information about this {{ original }} variable? I
> need to test it. There's no problem with it on my laptop running WinXP
> Python25 and latest django trunk. But there's a problem with it on
> FreeBSD, Python24 and latest django trunk.

Hmm .. Kenneth Gonsalves reported this a week or two ago, and he was
using Python 2.4, also. I wasn't able to repeat the problem with Python
2.4 on a recent Ubuntu, so it's up to people who are seeing it to help
debug further.

What would be good to know is what bytes are in the string "original"
and which part of that sequence of filters is raising the error (I would
guess truncatewords(), but let's confirm that). Then try to track down
where "original" came from and why it isn't a unicode object. You may
need to spend some time tracing it back, but what *should* be happening
is that as soon as the data is read from the database (note that the
database backend you are using might be significant here, so note
version numbers, etc) it should be converted into a Python unicode
object and never changed back until output time (which is the phase you
are in). So now try to find where that assumption breaks down.

This is an interesting problem, because now two unrelated people have
reported it *and* it's not universally repeatable. So if you can spend
some time poking around and trying to debug it, I'd appreciate it. I'm
laying money on a bug somewhere in the supporting pieces, rather than
Django, but it's something we have to work around, so we need to find
out the cause.

Regards,
Malcolm



--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to