Help with Latin Characters
benjamin.kaplan at case.edu
Mon Jul 25 05:35:48 CEST 2011
On Sun, Jul 24, 2011 at 3:47 PM, Joao Jacome <slyerex at gmail.com> wrote:
> 2011/7/24 Chris Angelico <rosuav at gmail.com>
>> On Mon, Jul 25, 2011 at 5:01 AM, Joao Jacome <slyerex at 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".
> 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.
More information about the Python-list