tapestry-upload ignores the character encoding set in the request and falls back to default character encoding.
The problem is that when extracting the parameter values the FileItem#getString() instead of FileItem#getString(String encoding) is used. The same problem is described and solved in JBoss Portal CMS:
See also: http://jira.jboss.com/jira/browse/JBPORTAL-1550
The getString method should be called with the encoding of the request: