The problem is in your __str__() function, because Python 2 use
__unicode__() instead of str to return Unicode string. By default p2 return
bytes in __str__ and p3 return Unicode.

python_2_unicode_compatible works and I thing it is the best approach
because you are support both version 3/2 .

I recommend use Python 3 because has less problems with non-ascii
characters, but p2 it's OK too.



El domingo, 6 de marzo de 2016, Georges H <georges.hi...@gmail.com>
escribió:
> OK thanks
> Without the python_2_unicode_compatible decorator before my class, it
does not work.
>
> Le dimanche 6 mars 2016 14:11:41 UTC+1, Vijay Khemlani a écrit :
>>
>> Do you know why you had the problem in the first place or are you just
copy-pasting code?
>> If you only need to support one version of Python (either 2.x or 3.x)
there is no need to use the python_2_unicode_compatible decorator
>> On Sun, Mar 6, 2016 at 8:14 AM, Georges H <george...@gmail.com> wrote:
>>>
>>> OK Thanks but I solved this little problem by adding at the top of my
models.py:
>>> django.utils.encoding import from python_2_unicode_compatible
>>>
>>>
>>> And always in models.py before each class:
>>> @ python_2_unicode_compatible
>>> Perfect!
>>> Le dimanche 6 mars 2016 03:16:35 UTC+1, Vijay Khemlani a écrit :
>>>>
>>>> The error you are seeing is at the application level, not database, so
I don't think postgres is at fault.
>>>> Post the full stack trace for the error and the relevant part of your
code when it fails.
>>>> On Sat, Mar 5, 2016 at 3:28 PM, Georges H <george...@gmail.com> wrote:
>>>>>
>>>>> Hi to all the Django community !
>>>>> I started with Django.
>>>>> I have a small form that works pretty well, and that will store the
data in a Postgres database, that's fine.
>>>>> OK, except that when I have a special character to enter (like an
accent, I am french), I get an error (No problem without special
characters):
>>>>> 'Ascii' codec can not encode character u '\ xe9' in position 0:
ordinal not in range (128)
>>>>> Yet I thought the default Django was utf8...
>>>>> So I tried to add in settings.py:
>>>>> LANGUAGE_CODE = 'en-us'
>>>>> LANG = 'UTF-8'
>>>>> LC_ALL = 'UTF-8'
>>>>> DEFAULT_CHARSET = 'utf-8'
>>>>> But it does not change ...
>>>>> I notice that if my base postgres is encoded in UTF-8 (when I do a
"SHOW SERVER_ENCODING"); the "client" is it in Unicode (when I do a "SHOW
CLIENT_ENCODING").
>>>>> Is it linked?
>>>>> I also notice that the "local" command at the root of my Django
project returns me:
>>>>> LANG = en_US.UTF-8
>>>>> LC_CTYPE = "en_US.UTF-8"
>>>>> LC_NUMERIC = "en_US.UTF-8"
>>>>> LC_TIME = "en_US.UTF-8"
>>>>> LC_COLLATE = "en_US.UTF-8"
>>>>> LC_MONETARY = "en_US.UTF-8"
>>>>> LC_MESSAGES = "en_US.UTF-8"
>>>>> LC_PAPER = "en_US.UTF-8"
>>>>> Lc_name = "en_US.UTF-8"
>>>>> LC_ADDRESS = "en_US.UTF-8"
>>>>> LC_TELEPHONE = "en_US.UTF-8"
>>>>> LC_MEASUREMENT = "en_US.UTF-8"
>>>>> LC_IDENTIFICATION = "en_US.UTF-8"
>>>>> LC_ALL =
>>>>> With "LC_ALL" empty !!! So it is that I did not understand where to
put this setting...
>>>>> How can I force Django to operate only in UTF-8? Or another approach?
>>>>>
>>>>> THX!
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
Groups "Django users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it,
send an email to django-users...@googlegroups.com.
>>>>> To post to this group, send email to django...@googlegroups.com.
>>>>> Visit this group at https://groups.google.com/group/django-users.
>>>>> To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/bd87c68d-730a-49f6-892f-bb398ed4d1b1%40googlegroups.com
.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
Groups "Django users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
an email to django-users...@googlegroups.com.
>>> To post to this group, send email to django...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/django-users.
>>> To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/b9b18216-e21f-4195-8ae3-b3cfbed70c31%40googlegroups.com
.
>>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to the Google Groups
"Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/d17cffcc-d595-485c-8203-ad8dfaeb7412%40googlegroups.com
.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
"La utopía sirve para caminar" Fernando Birri

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAG%2B5VyM1sq7bcSZAemHUK3TcGm-D-L4A3sU0dsDSjr_5fxFZag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to