#2269: Unicode error when a TableForm TextField gets a non-ascii value
------------------------+---------------------------------------------------
Reporter: chrisz | Owner:
Type: defect | Status: new
Priority: highest | Milestone: 2.0rc1
Component: TurboGears | Version: 2.0b7
Severity: blocker | Keywords: tw.forms UnicodeDecodeError
------------------------+---------------------------------------------------
Here is how to reproduce the bug with TG2.0b7:
Quickstart a new TG2.0b7 project with:
{{{
paster quickstart -a foo
cd foo
}}}
In foo/websetup.py, change u'manage' to u'mänäge' (something that is not
pure ascii), and create the database:
{{{
paster setup-app development.ini
}}}
In foo/controllers/root.py add the following at the top:
{{{
from formencode import validators
from tw import forms
from foo.model import DBSession, Permission
test_form = forms.TableForm('test_form',
fields = [
forms.TextField('permission_name',
validator=validators.UnicodeString)
])
}}}
In the same file, change the index method of the !RootController:
{{{
@expose('foo.templates.index')
def index(self):
"""Handle the front-page."""
return dict(page='index', form=test_form,
value=DBSession.query(Permission).one())
}}}
In foo/templates/index.html, add the following somewhere in the body:
{{{
<div py:replace="form(value)"/>
}}}
Run the application:
{{{
paster serve development.ini
}}}
Surf to http://localhost:8080. You will get the following error:
{{{
Module genshi.template.base:516 in _eval
>> new_attrs.append((name, u''.join(value)))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1:
ordinal not in range(128)
}}}
It seems that Genshi has a problem displaying the non-ascii value 'mänäge'
in the text field. I guess this is because of the nested rendering (first
as a field, then as a form) which converts the value to utf-8 in the first
pass, while the second pass expects unicode.
This is the absolute base functionality of TurboGears that should really
work, so I consider this a blocker.
--
Ticket URL: <http://trac.turbogears.org/ticket/2269>
TurboGears <http://www.turbogears.org/>
TurboGears front-to-back web development
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "TurboGears Tickets" group.
This group is read-only. No posting by normal members allowed.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/turbogears-tickets?hl=en?hl=en
-~----------~----~----~----~------~----~------~--~---