Aye, thank you. I do like that syntax better. Sometimes it's time to just quit and try again later when I'm not so frustrated. That's when I make silly bugs.
But, we got it! Thank you again. I think it's a nifty hack. M On Sat, May 28, 2011 3:53 pm, Alexandre Conrad wrote: > Marilyn, > > > You miss-typed the line, it should have a semicolon right after the > word "coding", such as: > > # coding: utf-8 > > > not > > # coding utf-8 > > > as you showed from your file. > > The syntax suggested syntax # -*- coding: utf8 -*- by Martin is > equivalent, but I always have a hard time remembering it from the top of my > head when I create a new Python file. So I just use: # coding: utf-8 > > > > 2011/5/28 Marilyn Davis <mari...@pythontrainer.com>: > >> Thank you Alexandre for your quick reply. >> >> >> I tried your suggestion (again) and I still get: >> >> >> ./uni.py >> File "./uni.py", line 20 >> SyntaxError: Non-ASCII character '\xa5' in file ./uni.py on line 21, but >> no encoding declared; see http://www.python.org/peps/pep-0263.html for >> details >> >> Can you suggest a different encoding? Or a way to figure out what it >> should be? >> >> Or am I making and re-making some stupid mistake? >> >> >> I run on emacs under SUSE. >> >> >> Marilyn >> >> >> p.s. The code is now: >> >> #!/usr/bin/env python >> # coding utf-8 >> '''Unicode handling for 2.6. >> ''' >> class Currency(float): def __str__(self): >> value = self.__class__.symbol + float.__str__(self) >> return value >> >> >> class Yen(Currency): symbol = unichr(165) >> >> >> def main(): y = Yen(100) >> print unicode(y) >> >> >> main() >> >> """ >> ¥100.0 >> """ >> >> >> >> >> >> >> >> On Sat, May 28, 2011 2:21 pm, Alexandre Conrad wrote: >> >> >>> When Python loads your file from your file system, it assumes all >>> characters in the file are ASCII. But when it hits non-ASCII >>> characters (currency symbols), Python doesn't know how to interpret >>> it. So you can give Python a hint by putting at the top of your file >>> the encoding of your file: >>> >>> After the shebang (1st line), add the following comment: >>> # coding: utf-8 >>> >>> >>> >>> (or whatever encoding your file is saved to, I think it depends on >>> your file system, usually utf-8 by default on Linux) >>> >>> HTH, >>> >>> >>> >>> >>> 2011/5/28 Marilyn Davis <mari...@pythontrainer.com>: >>> >>> >>>> Hi, >>>> >>>> >>>> >>>> I'm still on Python 2.6 and I'm trying to work some unicode >>>> handling. >>>> >>>> >>>> I've spent some hours on this snippet of code, trying to follow PEP >>>> 0263, >>>> since the error tells me to see it. I've tried other docs too and I >>>> am still clueless. >>>> >>>> The code works, except for the comment at the end. >>>> >>>> >>>> >>>> I would be very grateful for some help. >>>> >>>> >>>> >>>> >>>> #!/usr/bin/env python >>>> '''Unicode handling for 2.6. >>>> ''' >>>> class Currency(float): def __str__(self): value = >>>> self.__class__.symbol + float.__str__(self) return value >>>> >>>> >>>> >>>> class Yen(Currency): symbol = unichr(165) >>>> >>>> >>>> class Pound(Currency): symbol = unichr(163) >>>> >>>> >>>> def main(): y = Yen(100) print unicode(y) >>>> p = Pound(100) >>>> print unicode(p) >>>> >>>> >>>> >>>> main() >>>> >>>> """ >>>> ¥100.0 >>>> £100.0 >>>> """ >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Tutor maillist - Tutor@python.org >>>> To unsubscribe or change subscription options: >>>> http://mail.python.org/mailman/listinfo/tutor >>>> >>>> >>>> >>> >>> >>> >>> -- >>> Alex | twitter.com/alexconrad >>> >>> >> >> >> > > > > -- > Alex | twitter.com/alexconrad > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor