Thanks for replying dj.
But it didn't work.
When I use this code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# coding=utf-8
from google.appengine.ext import db
_CHOICES_FORMATION = (
unicode('Administração','latin_1'),
unicode('Design Gráfico','latin_1'),
unicode('Marketing','latin_1'),
unicode('Outras','latin_1'),
)
I got an error:
File "/home/josir/sist/google_appengine/google/appengine/ext/db/
djangoforms.py", line 170, in get_form_field
choices.append((str(choice), unicode(choice)))
UnicodeEncodeError: 'ascii' codec can't encode characters in position
10-13: ordinal not in range(128)
What I understand is function get_form_field try to convert choice to
a python string str(choice), where choice is each item of
_CHOICES_FORMATION
Any ideas on how to fix it ?
Josir
On Jan 18, 7:01 pm, djidjadji <[email protected]> wrote:
> In the unicode() call you must specify the encoding used, to decode
> the string to a unicode one. Or pass it a unicode string.
> example unicode(s,'utf-8')
>
> The Django code uses the default encoding string ascii.
>
> Or make a list of objects with a __unicode__() method that returns the
> unicode version of the string.
>
> You could build your choices list with unicode strings
>
> _CHOICES_FORMATION = (
> unicode('Administração','latin_1'),
> unicode('Design Gráfico','latin_1'),
> unicode('Jornalismo','latin_1'),
> unicode('Marketing','latin_1'),
> unicode('Outras','latin_1'),
> )
> Or use the encoding name that is used to edit the file.
>
> 2011/1/18Josir<[email protected]>:
>
> > Thanks for replying Zeynel.
>
> > I've read this article before but I could not understand how can it
> > help me because it does not have any citation on Django or GA.
>
> > Usually, in pure Python/Django, I use the u' notation and forms and
> > templates understand that the string is unicode.
> > But on GA, it's not working.
>
> > Do you have any specific suggestion/tip on the above code ?
>
> >JosirGomes
>
> > On Jan 18, 2:23 am, Zeynel <[email protected]> wrote:
> >> Can this be helpful to
> >> youhttp://www.stereoplex.com/blog/python-unicode-and-unicodedecodeerror
>
> >> On Jan 17, 10:53 pm,Josir<[email protected]> wrote:
>
> >> > Hi folks, I have the following code:
>
> >> > _CHOICES_FORMATION = (
> >> > 'Administração',
> >> > 'Design Gráfico',
> >> > 'Jornalismo',
> >> > 'Marketing',
> >> > 'Outras',
> >> > )
>
> >> > class Contact(db.Model):
> >> > name = db.StringProperty(verbose_name='Nome', required=True)
> >> > email = db.EmailProperty(verbose_name='E-mail', required=True)
> >> > phone = db.StringProperty(verbose_name='Telefone')
> >> > formation = db.StringProperty(
> >> > verbose_name=u'Formação',
> >> > choices=_CHOICES_FORMATION,
> >> > default=_CHOICES_FORMATION[0])
>
> >> > When I try to run it, I got
>
> >> > File "/home/josir/sist/google_appengine/google/appengine/ext/db/
> >> > djangoforms.py", line 170, in get_form_field
> >> > choices.append((str(choice), unicode(choice)))
> >> > UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
> >> > 10: ordinal not in range(128)
>
> >> > To fix it, I tried:
>
> >> > 1) u'Administração',
>
> >> > 2) insert the header:
>
> >> > #!/usr/bin/env python
> >> > # -*- coding: utf-8 -*-
> >> > # coding=utf-8
>
> >> > But both solution didn't work. How can I use latin (portuguese)
> >> > characters on choice field ?
>
> >> > Thanks in advance,
> >> >Josir.
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" 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/google-appengine?hl=en.