Hi, before to make the insert, you need change the string ascii to utf8, Newvalue=value.encode(utf-8)
El 05/11/2010 12:18, "Stef Mientki" <stef.mien...@gmail.com> escribió: I'm trying to insert a record with a filed value u"ëLocatie" and I get an error in sql.Table._insert at the last line: return 'INSERT INTO %s(%s) VALUES (%s);' % (sql_t, sql_f, sql_v) here the traceback File "D:\Data_Python_25\support\Web2Py_DAL_support.py", line 250, in DAL_Table Description = Value[3][:-1]) File "P:\Web2PY\web2py_src\web2py\gluon\sql.py", line 2035, in insert query = self._insert(**fields) File "P:\Web2PY\web2py_src\web2py\gluon\sql.py", line 2028, in _insert return 'INSERT INTO %s(%s) VALUES (%s);' % (sql_t, sql_f, sql_v) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 35: ordinal not in range(128) I don't understand the problem and know what I'm doing wrong Wwith print statements I tried to narrow the problem, and in : def sql_represent(obj, fieldtype, dbname, db_codec='UTF-8'): there's is this part if isinstance(obj, unicode): print '????', type(obj),obj if len(obj)>0 : print ord(obj[0]) obj = obj.encode(db_codec) print '????', type(obj) if len(obj)>0 : print ord(obj[0]) which seems to convert the unicode to a string with byte values larger than 128. Am I doing something wrong, or is this a bug ? And of course far more interesting, how do I solve this problem ? thanks, Stef Mientki