Actually you should never use unicode in this context. You should use utf8.
The difference between value and _value in this case is whether, on error, 
the form should be reset to the value or not.

On Tuesday, 24 September 2013 02:55:38 UTC-5, David Austin wrote:
>
> 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.

Reply via email to