Thanks, Oscar and Ramit! This is exactly what I was looking for. Anders
> -----Original Message----- > From: Oscar Benjamin [mailto:oscar.j.benja...@gmail.com] > Sent: Wednesday, November 07, 2012 6:27 PM > To: Anders Schneiderman > Cc: python-list@python.org > Subject: Re: Right solution to unicode error? > > On 7 November 2012 22:17, Anders <aschneider...@asha.org> wrote: > > > > Traceback (most recent call last): > > File "outlook_tasks.py", line 66, in <module> > > my_tasks.dump_today_tasks() > > File "C:\Users\Anders\code\Task List\tasks.py", line 29, in > > dump_today_tasks > > print task.subject > > UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in > > position 42: ordinal not in range(128) > > > > Here's where I'm getting stuck. In the code above I was just printing > > the subject so I can see whether the script is working properly. > > Ultimately what I want to do is parse the tasks I'm interested in and > > then create an HTML file containing those tasks. Given that, what's > > the best way to fix this problem? > > Are you using cmd.exe (standard Windows terminal)? If so, it does not > support unicode and Python is telling you that it cannot encode the string in > a > way that can be understood by your terminal. You can try using chcp to set > the code page to something that works with your script. > > If you are only printing it for debugging purposes you can just print the > repr() > of the string which will be ascii and will come out fine in your terminal. If > you > want to write it to a html file you should encode the string with whatever > encoding (probably utf-8) you use in the html file. If you really just want > your > script to be able to print unicode characters then you need to use something > other than cmd.exe (such as IDLE). > > > Oscar -- http://mail.python.org/mailman/listinfo/python-list