[Tutor PyCZ] Problem s diakritikou
Matus Lucenic
matus.lucenic na gmail.com
Čtvrtek Září 28 12:19:48 CEST 2006
Zdravim,
potreboval by som poradit ohladne vkladania znakov s diakritikou do MySql cez SqlObject.
Prikladik:
# -*- coding: utf-8 -*-
from sqlobject import *
__connection__ = 'mysql://root:@localhost/test'
class skTab(SQLObject):
meno = StringCol(length = 50, notNone = True)
def zapis():
skTab.createTable(ifNotExists=True)
meno =u'skúška'
novyZaznam = skTab(meno=meno)
zapis()
vypise mi takuto chybovy hlasku:
Traceback (most recent call last):
File "C:\dia.py", line 19, in ?
zapis()
File "C:\dia.py", line 17, in zapis
novyZaznam = skTab(meno=meno)
File "c:\python24\lib\site-packages\SQLObject-0.7rc1-py2.4.egg\sqlobject\main.
py", line 1179, in __init__
self._create(id, **kw)
File "c:\python24\lib\site-packages\SQLObject-0.7rc1-py2.4.egg\sqlobject\main.
py", line 1203, in _create
self.set(**kw)
File "c:\python24\lib\site-packages\SQLObject-0.7rc1-py2.4.egg\sqlobject\main.
py", line 1064, in set
kw[name] = dbValue = from_python(value, self._SO_validatorState)
File "c:\python24\lib\site-packages\SQLObject-0.7rc1-py2.4.egg\sqlobject\col.p
y", line 498, in from_python
return value.encode("ascii")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-3: ordin
al not in range(128)
Podla tejto hlasky to vyzera tak, ze SQLObject sa to snazi previest do ascii, ale nenasiel som sposob, ako to zrusit.
Takisto pri vypise z db:
def vypis():
vypisTab = skTab.select()
for riadokTab in vypisTab:
print riadokTab.meno
vypis()
mi to vrati haky-baky
Uz som skusal vsetko mozne, vsetky mozne kodovania na strane pythonu aj db, skusal som to aj cez sqlite ale bezvysledne. Vie mi niekto poradit, v com moze byt problem.
Dakujem
ml
Další informace o konferenci Tutor