Hi Massimo, Here's a simple test example:
Controller: def utfinput(): s = u'\u2026' form = FORM('Test', INPUT(_name='test1', value=s), INPUT(_name='doit', _type='submit', _value='Submit')) if form.accepts(request.vars, session): session.flash = "Accepted" return dict(form=form) View: {{ extend 'layout.html' }} {{= form }} Resulting html: <form method="post" enctype="multipart/form-data" action="#">Test<input type="text" value="…" name="test1"><input type="submit" value="Submit" name="doit"><div style="display:none;"><input type="hidden" value="5de6bf73-616e-45b8-95e2-751ac1f64716" name="_formkey"><input type="hidden" value="default" name="_formname"></div></form> If I use the _value parameter instead of the value parameter for test1 (as I have been doing) then it throws an error ticket because the handling of the _value parameter is not unicode safe. The distinction between value and _value is not entirely clear to me and I suggest that the first example in the INPUT section of the book should perhaps use value instead of _value. In any case, I reckon it should be acceptable to use unicode with _value. David On Tuesday, September 24, 2013 11:36:26 AM UTC+10, Massimo Di Pierro wrote: > > I think we need to see the source code > > On Monday, 23 September 2013 19:09:32 UTC-5, David Austin wrote: >> >> >> >> On Tuesday, September 24, 2013 4:46:13 AM UTC+10, Massimo Di Pierro wrote: >>> >>> What is the code that generates this: >>> >>> <FONT FACE="Arial, serif"> >>> >>> certainly there is no font tag anywhere in web2py. It was deprecated in >>> HTML years ago. >>> >> >> >> Hi Massimo, >> >> I believe it comes from Microsoft Word. But the important thing is that >> >> <FONT FACE="Arial, serif">... >> >> is the value for the text field. And that value also contains UTF-8 >> characters. >> >> David >> >> >> >>> >>> On Monday, 23 September 2013 09:00:28 UTC-5, David Austin wrote: >>>> >>>> >>>> Hi All, >>>> >>>> I'm seeing a number of error tickets generated in the guts of web2py >>>> stemming from a form.accepts() call. >>>> >>>> >>>> File "xxxx/web2py/gluon/html.py", line 856, in _traverse >>>> >>>> self._postprocessing() >>>> File "xxxxx/web2py/gluon/html.py", line 1774, in _postprocessing >>>> _value = str(self['_value']) >>>> UnicodeEncodeError: 'ascii' codec can't encode character u'\u2026' in >>>> position 55: ordinal not in range(128) >>>> >>>> >>>> The character in question appears to be a UTF-8 ellipsis (...). >>>> >>>> I thought that this may have been a browser issue - but I think now >>>> it's just a web2py problem with text INPUTs containing >>>> "interesting" characters - even in the values. The generated HTML >>>> looks like: >>>> >>>> <input id="word_name" type="text" value="<FONT FACE="Arial, >>>> serif"><FONT SIZE=2>as/so far as … is/are concerned</font></font>" name >>>> ="name"> >>>> >>>> which seems to have two issues - the double quotes in the value are not >>>> escaped and the ellipsis (probably >>>> ok HTML) is then going to generate the ticket I'm seeing at >>>> str(self['_value']). >>>> >>>> David >>>> >>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.