On Aug 5, 4:23 am, "Jorgen Bodde" <[EMAIL PROTECTED]> wrote: > Hi All, > > I am relatively new to python unicode pains and I would like to have > some advice. I have this snippet of code:
> thefile = args["file"] > filemask = u"%file%" > therep = arg.replace(filemask, thefile) ##### error here > It crashes on this: > > 20:03:49: File > "D:\backup\important\src\airs\webserver\webdispatch.py", line 117, in > playFile therep = arg.replace(filemask, thefile) > > 20:03:49: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in > position 93: ordinal not in range(128) > > 20:03:49: Unhandled Error: <type 'exceptions.UnicodeDecodeError'>: > 'ascii' codec can't decode byte 0xc2 in position 93: ordinal not in > range(128) > > It chokes on a ` character in a file name. I read this file from disk, > and I would like to play it. However in the replace action it cannot > translate this character. How can I transparently deal with this issue > because in my eyes it is simply replacing a string with a string, and > I do not want to be bothered with unicode problems. I am not sure in > which encoding it is in, but I am not experienced enough to see how I > can solve this If you don't want to be bothered with "unicode problems": (1) Don't create a "unicode problem" when one doesn't exist. (2) Don't bother other people with *your* "unicode problems". > > Can anybody guide me to an elegant solution? > Short path: In this case, less is more; remove the u prefix in the line filemask = u"%file%" Long Path: Ignorance is not bliss. Lose the attitude. Unicode is your friend, not an instrument of Satan. Read this: http://www.amk.ca/python/howto/unicode By the way, how one's filesystem encodes file names can be a good thing to know; in your case it appears to be UTF-8. HTH, John -- http://mail.python.org/mailman/listinfo/python-list