pythonwin
проблема не в sqlobject, а в том что что ты использовал простую строку с кириллицей, а нужно было указать что это тип unicode
p = Person(firstName=u'Вася', lastName=u'Пупкин', middleInitial=“Q”)
попробовал ваше решение
# -*- coding: utf-8 -*-
from sqlobject import *
class Person(SQLObject):
firstName = StringCol()
middleInitial = StringCol(length=1, default=None)
lastName = StringCol()
sqlhub.processConnection = connectionForURI('mssql://sa:pass@127.0.0.1/sqlobject')
p = Person(firstName=u'Вася', lastName=u'Пупкин')
Данные содержащие символы кирилицы читаются в MS SQL Enterprise manager, но при работе программы появляется уже другая ошибка:
Traceback (most recent call last):
File "C:\Documents and Settings\user\workspace\1\src\pack\sqlobject_example.py", line 16, in <module>
p = Person(firstName=u'Вася', lastName=u'Пупкин')
File "c:\python25\lib\site-packages\SQLObject-0.10.0-py2.5.egg\sqlobject\declarative.py", line 89, in _wrapper
return fn(self, *args, **kwargs)
File "c:\python25\lib\site-packages\SQLObject-0.10.0-py2.5.egg\sqlobject\main.py", line 1183, in __init__
self._create(id, **kw)
File "c:\python25\lib\site-packages\SQLObject-0.10.0-py2.5.egg\sqlobject\main.py", line 1217, in _create
self.set(**kw)
File "c:\python25\lib\site-packages\SQLObject-0.10.0-py2.5.egg\sqlobject\main.py", line 1058, in set
kw[name] = dbValue = from_python(value, self._SO_validatorState)
File "c:\python25\lib\site-packages\SQLObject-0.10.0-py2.5.egg\sqlobject\col.py", line 522, in from_python
return value.encode("ascii")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
что я делаю не так?
С уважением