0

description:
Reading data from active directory. some names have the French accented E. when I write to screen, no problems. when I write to a .txt file the program errors out with...

Traceback (most recent call last):
File "ad-listing.py", line 20, in <module>
print >> OutFile, person.displayname,"~",person.title,\
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 9:
ordinal not in range(128)

when I try something fancy like...

print >> OutFile,(person.displayname,'utf8').....

the output of that field is...
(u'Keith Brown', 'utf8')
(u'FTP TELUS', 'utf8')
(u'FTP AT&T', 'utf8')
(u'FTP EPCOR', 'utf8')
(u'FTP SHAW', 'utf8')

WHen I try to chop off the "(u'" at the start and "', 'utf8')" at the end all the data disappears leaving the brackets..

Is the any function that can do a simple straight conversion to text so that I can print the data to a file with out massaging the heck out of the data?

Python 2.6, Windows XP Pro, Active directory

I'm trying this in Python to try to introduce an Open Source programing language where I work.

3
Contributors
2
Replies
3
Views
7 Years
Discussion Span
Last Post by vegaseat
1

You can set the encoding for the file
fp = codecs.open('test', encoding='utf-8', mode='w')

Or you can change the default encoding for the system
sys.setdefaultencoding('utf-8')

You may have to use encode/decode, see here
http://farmdev.com/talks/unicode/

Votes + Comments
useful info
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.