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 >