I guess you might want six.text_type. 
https://docs.djangoproject.com/en/dev/topics/python3/#string-handling may 
help.

On Wednesday, April 20, 2016 at 11:41:47 PM UTC-4, Fred Stluka wrote:
>
> Tim,
>
> Excellent response, thanks!  The link to the doc is just what I 
> needed.
>
> One more question.  I'm still getting UnicodeEncodeError on
> some calls to str() because I should now be calling unicode()
> instead.  Any easy way to map all of my str() calls to unicode()
> call?
>
> Thanks!
> --Fred 
> ------------------------------
> Fred Stluka -- [email protected] <javascript:> -- 
> http://bristle.com/~fred/ 
> Bristle Software, Inc -- http://bristle.com -- Glad to be of service! 
> Open Source: Without walls and fences, we need no Windows or Gates. 
> ------------------------------
> On 4/14/16 10:05 PM, Tim Graham wrote:
>
> You want `from __future__ import unicode_literals`: 
> https://docs.djangoproject.com/en/dev/ref/unicode/#general-string-handling
>
> On Thursday, April 14, 2016 at 6:27:07 PM UTC-4, Fred Stluka wrote: 
>>
>> Django users,
>>
>> In my Django app, I want to allow users to enter Unicode 
>> strings.  But if they do, I get UnicodeEncodeError when I call
>> format() to embed their string into other strings.  Is there an 
>> easy way to tolerate the Unicode?
>>
>> *Details:*
>>
>> After prompting the user for name, I may have a line of code like:
>>
>>     log('Name entered was: {0}'.format(name))
>>
>> With Python 2.7.3 and Django 1.4.3, this raises exception 
>> UnicodeEncodeError if the user entered a string containing 
>> Unicode chars, because it tries to embed Unicode chars into
>> my ASCII string template.  So, I have to I change it to:
>>
>>     log(u'Name entered was: {0}'.format(name))
>>
>> I have many thousands of such lines in my 200,000+ lines of 
>> Python and Django code.
>>
>> Is there a master switch somewhere that would cause a Python
>> 2.x string literal to default to Unicode instead of ASCII, as it 
>> does in Python 3?  
>>
>> Or do I have to explicitly change '' to u'' in all such places?
>>
>> I looked into adding a line like this to the top of the file, but 
>> no luck because it seems to only affect the encoding of Unicode 
>> string literals (u''), not regular string literals (''):
>>
>>     # -*- coding: utf-8 -*-
>>
>> Any suggestions?  Much appreciated.  Thanks!
>>
>> --Fred 
>> ------------------------------
>> Fred Stluka -- [email protected] -- http://bristle.com/~fred/ 
>> Bristle Software, Inc -- http://bristle.com -- Glad to be of service! 
>> Open Source: Without walls and fences, we need no Windows or Gates. 
>> ------------------------------
>>
> -- 
> 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 [email protected] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> 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/3da21b79-4bfd-4f05-bbc4-579505365376%40googlegroups.com?utm_medium=email&utm_source=footer>
> https://groups.google.com/d/msgid/django-users/3da21b79-4bfd-4f05-bbc4-579505365376%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 [email protected].
To post to this group, send email to [email protected].
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/afe0fa40-ebcf-4b96-b27c-ea5cf26a7ced%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to