Sziasztok!
python Tkinter párost használva adatbázisba mentem az adatokat, de amikor az Entry mező tartalmát megpróbálom kiolvasni, és szerepel benne (áéóöőúüű) akkor ezt mondja:
if str(nev.get())=="":
UnicodeEncodeError: 'ascii' codec can't encode caracter u'\xe1' in position 2:ordinal not in range(128)
pedig a kód elejére betettem ezt:
# -*- coding: iso-8859-1 -*-
Legyen kedves valaki segíteni, hogy tudnám ezt a gondot orvosolni.
köszönöm!
- 1055 megtekintés
Hozzászólások
ha jol emlekszem az iso-8859-1ban nincs benne az ekezet, de lehet hogy megis..
probald meg ezekkel:
# -*- coding:Latin-1 -*-
# -*- coding:Utf-8 -*-
- A hozzászóláshoz be kell jelentkezni
egyikkel sem megy, megpróbáltam úgyis, hogy nem adok meg neki kódolást, úgy sem. közben megnéztem nem linuxon, mivel ppc-re megy az alklamzás, és ott nem volt gond.
- A hozzászóláshoz be kell jelentkezni
str helyett használd az encode függvényt.
A # -*- coding: .... az nem erre a problémáról, hanem a *.py -ban lévő sztringek (kód) értelmezéséről szól.
Egyébként az "őŐ" és "űŰ" az iso-8859-2 -ben van benne, az 1-ben csak a rövid ékezetes párjaik.
- A hozzászóláshoz be kell jelentkezni
köszönöm :)
- A hozzászóláshoz be kell jelentkezni
Nos igen. Azért kapsz UnicodeEncodeError-t, mert a nev.get() - nagyon helyesen - egy unicode-ot ad vissza. Tehát vagy
if nev.get().len() == 0:
vagy
if nev.get() == u'':
vagy
if nev.get().encode('utf-8') == '':
De ezek már bonyolítássok :)
- A hozzászóláshoz be kell jelentkezni