From: Oleg B. <ph...@ph...> - 2008-01-07 16:59:17
|
On Mon, Jan 07, 2008 at 11:43:24AM -0500, Glenn MacGregor wrote: > It looks like somewhere in SQLObject we are calling decode on the variable > which contains Ch?rie to decode it to ascii. Is this the intended result? No, "decoding" in Python means converting from str to unicode. Somewhere (in UnicodeStringValidator in col.py) the string is decoded from str using utf-8 charset, but the decoding fails. > I have tried to manually define the column in the class definition, > > label = UnicodeCol() > > This did not change anything Of course. Setting "use_unicode" in DB URI changes every StringCol to UnicodeCol. You can declare it StringCol explicitly, and then use only str, not unicode. > I have tracked it down to the return statement of the StringLikeConverter, > line 96 on converters.py. return "'%s'" % value seems to be doing a decode > (or encode) which is failing. I doubt it. At the time the converter works unicode should be converted to str already. > Note in the debugger I see the type of the > param value in that function is str, I would think it would be unicode. UnicodeStringValidator.from_python() has converted it to str. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |