El miércoles, 9 de mayo de 2012 22:48:29 UTC+2, Ricardo Pedroso escribió:
>
> On Wed, May 9, 2012 at 7:56 PM, sesenmaister <sesenmais...@gmail.com> 
> wrote: 
> > When I use web2py 1.99.7 shell  (web2py.exe -S welcome) : 
> > 
> >>>> unicode('Äpple','utf-8') 
> > Traceback (most recent call last): 
> >   File "<console>", line 1, in <module> 
> > UnicodeDecodeError: 'utf8' codec can't decode byte 0x8e in position 0: 
> > unexpected code byte 
>
> Here you are saying to unicode function that the string is encoded in 
> utf-8 so it will try to 
> decode using utf-8 codec but your terminal emulator is configured to 
> iso-8859-1 
> so when you enter 'Äpple' you put it encoded in iso-8859-1 
>
>
> >>>> unicode('Äpple','iso-8859-1') 
> > u'\x8epple' 
>
>
> > When running normally web2py (as localhost 127.0.0.1): 
> > 
> > def codificacion1(): 
> >     response.write(unicode('Äpple','utf-8')) 
> >     response.write('<br>,escape=False') 
> >     response.write(unicode('Äpple','iso-8859-1')) 
> >     return () 
> > 
> > it returns: 
> > 
> > Äpple Äpple 
>
> Here you are using some editor configured to use utf-8. So when you write 
> 'Äpple' is in utf-8. 
>
>
> To see the differences from both "worlds" you can do in shell: 
>
> print repr('Äpple') 
>
> In web2py: 
>
> def codificacion1(): 
>     response.write(repr('Äpple')) 
>
> And I am almost 100% sure that you will get a different sequence of 
> bytes. 
>  

Que grande, you bet you're true.  It's what you said. 



> > How can I do for having same results in the shell? 
>
> Your terminal emulator and your editor both need to have the same 
> capabilities and configured identically. 
>

In both emulator and editor I had got:
 
>>import sys
>>sys.stdin.encoding
'cp850'
 
So I thouught they were in the same way.

Is there a non very comlex way to set the emulator to be same as the editor?
  
 

>
> Ricardo 
>

Reply via email to