Fredrik Lundh wrote:
> [EMAIL PROTECTED] wrote:
>
> > Hello, the following program prompts the user for a word and tests to
> > see if it is the same as another one. If the user types "españa" (note
> > that the word contains an 'ñ'), the program should output "same". This
> > works if I run the code in IDLE but does not if I run it in the windows
> > console. Can someone explain me why this happens and how to get around
> > it?
> >
> > # -*- coding: cp1252 -*-
> > text1 = 'españa'
> > text2 = raw_input()
> > if text1 == text2:
> >     print 'same'
> > else:
> >     print 'not same'
>
> I don't think raw_input decodes non-ascii input at all. and your console
> probably uses cp850 rather than cp1252.  doing the comparision over in
> unicode space should work better:
>
>     import sys
>     text1 = u'españa'
>     text2 = unicode(raw_input(), sys.stdin.encoding)
>     if text1 == text2:
>         print 'same'
>     else:
>         print 'not same'
>
> </F>

This works if I use the console but gives the following error if I use
IDLE:

Traceback (most recent call last):
  File "C:\test.py", line 4, in ?
    text2 = unicode(raw_input(), sys.stdin.encoding)
AttributeError: PyShell instance has no attribute 'encoding'

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to