On Sun, Jul 24, 2011 at 3:47 PM, Joao Jacome <slye...@gmail.com> wrote: > > 2011/7/24 Chris Angelico <ros...@gmail.com> >> >> On Mon, Jul 25, 2011 at 5:01 AM, Joao Jacome <slye...@gmail.com> wrote: >> > Already tried without unicode string in rootdir, same results. What if try >> > using raw strings? >> >> Raw strings are just another way of typing them into your source code. >> There are different ways of writing string literals, but they produce >> the same string object: >> >> "Hello \\ world!\n" >> 'Hello \\ world!\n' >> """Hello \\ world! >> """ >> r"""Hello \ world! >> """ >> >> All these produce the exact same thing. But u"Hello \\ world!\n" is >> quite different, or (in Python 3) b"Hello \\ world!\n". >> >> ChrisA >> -- >> http://mail.python.org/mailman/listinfo/python-list > > http://pastebin.com/iQzPhpVh > Changed filename to rawstring, now python can retrieve the file's info. > Now in the database, character "Ê" becomes "Ê", but if i retrieve it in > python and try to get file size, it works. > Is there a way to modify output to display correctly these characters? >
Your database does not have characters. Your database has a sequence of bytes. Your terminal reads a sequence of bytes. If your terminal and your database interpret that sequence of bytes differently, you'll appear to have different characters even though ts the actual content of the string is the same. What you should do is decode the bytes into Unicode as soon as you pull them out of the database (using whatever encoding the database uses) and then encode them into your terminal's encoding right before you print them. > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list