umlaute

Django, Flask, Bottle, WSGI, CGI…
Antworten
Sync32
User
Beiträge: 141
Registriert: Mittwoch 27. Januar 2010, 12:42

Normalerweiße verwende ich für umlaute

u'löffel'

aber wie mache das bei input eingaben vom user, wie wandele ich die um ?
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

Python 2.x oder 3.x?
https://www.xing.com/go/invite/18513630.6a91d4
Sync32
User
Beiträge: 141
Registriert: Mittwoch 27. Januar 2010, 12:42

2.x
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

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'>
https://www.xing.com/go/invite/18513630.6a91d4
Sync32
User
Beiträge: 141
Registriert: Mittwoch 27. Januar 2010, 12:42

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...
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

* Dieses Thema ist eher im Webframeworks-Unterforum am richtigen Ort.
* Welches Webframework verwendest Du?
https://www.xing.com/go/invite/18513630.6a91d4
Sync32
User
Beiträge: 141
Registriert: Mittwoch 27. Januar 2010, 12:42

ch errpy
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

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.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

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
Antworten