Sorry ,a little bit of complication which I overlooked was the issue.
I escaped a URL parameter to urls.py which took some form like
http://mysite?param=%u0410%u0433%u0430 ....
and then I unquoted it and converted to unicode by
param = unquote(param)
result = param.replace('%u','\\u').decode('unicode_escape')

This potentially gave me a unicode string which I tried to unicode
again which was giving me an error.
Thanks for pointing this out.



On Jul 27, 4:26 pm, Russell Keith-Magee <freakboy3...@gmail.com>
wrote:
> On Mon, Jul 27, 2009 at 3:26 PM, Shivaraj<shivraj...@gmail.com> wrote:
>
> > Let me repeat the original question.
> > If I put a nonASCII character to urlopen / urlencode and try to open
> > an url in python prompt it works fine.
> > So it's not issue with python(2.6+) as of now.
>
> > Now I call the same functions from Django and it reports error.
>
> And let me repeat my original answer. You seem to be of the opinion
> that Django is - or is capable of - doing something here. It isn't.
> Django is just a library. It doesn't change the operation of the
> functions in the standard library. If you're seeing errors, you will
> see them consistently regardless of whether they are at the Python
> prompt or being invoked from within a Django view, barring differences
> in file encoding, etc - that is, the conditions that will alter the
> operation of the standard library.
>
> > I will give you a simple scenario. Try unicode('район','utf-8') from
> > any view function and it will throw a TypeError stating decoding is
> > not permitted or so.
>
> It doesn't do that on my machine. I do get a Syntax error if my file
> doesn't have a PEP-263 compliant coding string (# -*- coding: utf-8
> -*-), since 'район' isn't a legal ASCII string. If the coding string
> is present, the I don't get any error.
>
> I do get a TypeError if I try to call unicode(u'район','utf-8') (i.e.,
> inputing an explicitly unicode string), - but that's understandable,
> since I'm asking for a UTF-8 decode of a string that is already
> Unicode. This also happens regardless of whether I'm at a Python
> prompt or in a Django view - which is understandable, since it's a
> fundamentally incorrect way to invoke unicode().
>
> I don't know exactly what you're hitting here, but it's a lot more
> subtle than "Django did it".
>
> Yours,
> Russ Magee %-)
--~--~---------~--~----~------------~-------~--~----~
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