Tenho uma aplicação sendo desenvolvida com Struts e DynaActionForm.
Sempre que eu recupero dos dados de um formulário HTML que tenha cedilha, tio ou acentuação usando o comando (String)((DynaActionForm)form).get(“nomeDoCampo”) recebo uma string com caracteres estranhos.
Não sei acerto se essa é a frase certa, mas é algo assim, existe uma parada chamada URLEncoder, que transforma todos os caracteres que não sejam alfa-numéricos pro padrão %XY, onde XY correspondem ao código ASCII (ou ISO LATIN-1, no nosso caso), o que faz com que na hora que tu chames, ele troque as paradas.
Resumindo, te aconselho criar formulários que não utilizem caracteres acentuados. Ou então cria um filtro que vai tratar todos os caracteres acentuado do valor %XY pro valor que tu queres (é possível que já exista em algum canto).