Seite 1 von 1

umlaute

Verfasst: Dienstag 19. Oktober 2010, 14:26
von Sync32
Normalerweiße verwende ich für umlaute

u'löffel'

aber wie mache das bei input eingaben vom user, wie wandele ich die um ?

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 14:28
von lutz.horn
Python 2.x oder 3.x?

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 14:34
von Sync32
2.x

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 14:38
von lutz.horn
Falls der Nutzer auf der Konsole eine Eingabe machen soll, gibt es http://docs.python.org/library/functions.html#raw_input

Code: Alles auswählen

s = raw_input("-->")
print type(s)
#<type 'str'>
u = unicode(s, encoding="UTF-8")
print type(u)
# <type 'unicode'>

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 14:43
von Sync32
ne ich mein ein html-inputfeld

wenn ich vorher ein
unicode(...) mache kommt _>
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf6 in position 1: invalid start byte

Code: Alles auswählen

    def db_newentry(self, name, msg):
        connection = MyDatabase.sqlite3.connect(self.dbname)
        cursor = connection.cursor()
        msg_date = time.ctime() #time.strftime("%d. %m. %Y")

        u = unicode(name, encoding="UTF-8")
        
        werte = (u, msg, msg_date) 
        sql = "INSERT INTO entries(name, msg, msg_date)VALUES (?, ?, ?)" 
        cursor.execute(sql, werte)       
        connection.commit()
        cursor.close()  
habs jetzt erstmal nur beim namen ausprobiert...

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 14:50
von lutz.horn
* Dieses Thema ist eher im Webframeworks-Unterforum am richtigen Ort.
* Welches Webframework verwendest Du?

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 15:37
von Sync32
ch errpy

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 20:41
von Darii
Ja, aber wo kommt den `name` her? Welche Codierung gibts du denn im HTML an? Wenn das nicht utf-8 wird das so nicht klappen.

Re: umlaute

Verfasst: Dienstag 19. Oktober 2010, 20:59
von noisefloor
Hallo,

bei mir (mit Bottle) funktioniert es, wenn ich in der HTML-Datei die Zeichenkodierung korrekt definieren (z.B. utf-8). Außerdem kannst du bei HTML-Formularen accpet-charset fest legen.

Gruß, noisefloor