Am 31.05.11 13:32, schrieb Daniel Kluev: > On Tue, May 31, 2011 at 8:40 AM, Wolfgang Meiners > <wolfgangmeiner...@web.de> wrote: >> metadata = MetaData('sqlite://') >> a_table = Table('tf_lehrer', metadata, >> Column('id', Integer, primary_key=True), >> Column('Kuerzel', Text), >> Column('Name', Text)) > > Use UnicodeText instead of Text. > >> A_record = A_class('BUM', 'Bäumer') > > If this is python2.x, use u'Bäumer' instead. > >
Thank you Daniel. So i came a little bit closer to the solution. Actually i dont write the strings in a python program but i read them from a file, which is utf8-encoded. So i changed the lines for line in open(file,'r'): line = line.strip() first to for line in open(file,'r'): line = unicode(line.strip()) and finally to for line in open(file,'r'): line = unicode(line.strip(),'utf8') and now i get really utf8-strings. It does work but i dont know why it works. For me it looks like i change an utf8-string to an utf8-string. By the way: when i run a python program from eclipse, then print sys.getdefaultencoding() returns utf-8 and when i run the same python program from the command line, then print sys.getdefaultencoding() returns ascii but my locale is set to $ locale LANG="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_CTYPE="de_DE.UTF-8" LC_MESSAGES="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_ALL="de_DE.UTF-8" I think, utf8 is somewhat confusing in python - at least to me. Wolfgang -- http://mail.python.org/mailman/listinfo/python-list